谁告诉我type myString = type String; 与type myString = String;的区别?(100分)

  • 主题发起人 主题发起人 tei
  • 开始时间 开始时间
T

tei

Unregistered / Unconfirmed
GUEST, unregistred user!
谁告诉我type myString = type String; 与type myString = String;的区别?
是在interface部
 
To create distinct types.

type myString = type String;
与type myString = String;建立的类型不同。
也就是第一个myString和第二个myString不是同一类型。
 
不都是String吗?
 
刚刚试验,一样用,和帮助里面说的不同?
 
都给你说了,不都是。
这是Delphi语言特殊的地方。显示了它的语法严谨,好像也有些死板。
 
type myString = String;
mystring是字符串变量


type myString = type String;
mystring是你定义的一个类型(字符串类型)
 
否。它俩确实不一样。
一般地,要产生一个不同于标准类型的新类型,可这样:
type identifier = type type

例如:
type MyInteger1 = type Integer;
MyInteger2 = Integer;
则 MyInteger1与 MyInteger2 类型不同!
 
>type myString = String;
>mystring是字符串变量
? 不是吧, 可不是myString: String; 哦

 
 
>type MyInteger1 = type Integer;
> MyInteger2 = Integer;
>则 MyInteger1与 MyInteger2 类型不同!
? 各是什么类型??
 
按帮助的说法,MyInteger2 就是integer类型,MyInteger1则是新的类型,存储方法一致
实践中,好象用起来没什么区别
 
这是delphi的help里面的解释,慢慢看[:)]
When you declare a type that is identical to an existing type,
the compiler treats the new type identifier as an alias for the old one.
Thus, given the declarations

type TValue = Real;

var
X: Real;
Y: TValue;

X and Y are of the same type; at runtime, there is no way to distinguish TValue from Real. This is usually of little consequence, but if your purpose in defining a new type is to utilize runtime type information梖or example, to associate a property editor with properties of a particular type梩he distinction between 揹ifferent name?and 揹ifferent type?becomes important. In this case, use the syntax

type newTypeName = type type

For example,

type TValue = type Real;

forces the compiler to create a new, distinct type called TValue.
 
错误,我删掉了。谢谢PiPi
 
楼上的,和 type=type无关
你的例子错误是因为动态数组和静态数组不兼容,下面的就没错了

procedure PL(arr:array of char); // 1
var
arr1:array[0..2] of char; //2
begin
PL(arr1);
end;
 
因为帮助上说了:
function CheckStrings(A: array of string): Boolean;
函数参数 array of string 虽然好象动态数组差不多,但是它是接收静态数组的,虽然接受的
静态数组的大小可以不定。
 
果然,呵呵呵,不好意思,还是把上面的删掉吧。
 
还是pipi高啊,此帮助我也看了,为啥就记不住呢?
 
Pipi.:你的名字听起来真有意思,把它汉化后,写出来是什么字?[:D][:D][:D]
 
Pipi. 你高兴就叫皮皮,不高兴就叫屁屁
 
后退
顶部