Delphi C#
資料型態 (*號代表較佳執行效率)
整數 byte 有效數字 說明
shortint sbyte 1 -128~127
smallint short 2 -327~32767
* integer int 4 -2,147,483,648 至 2,147,483,648
_Longint
int64 long 8 -9223372036854770000 至 9223372036854770000 (2^63-1)
byte byte 1 1 byte,0到255
Word ushort 2 1 byte,0到255
rardinal uint 4 0 至 4,294,967,295 (232-1)
_LongWord
unit64 ulong 8 0 至 4,294,967,295 (232-1)
實數
real48 6 11-12 2.9e^-39 .. 1.7e^+38
single float 4 7-8 1.5e^-45 .. 3.4e^+38
* double double 8 15-16 5.0e^-324 .. 1.7e^+308
_Real
extended 10 10-20 5.0e^-324 .. 1.7e^+308
8 15-16 (64-bit platforms) 5.0e^-324 .. 1.7e^+308
comp 8 10-20 -2^63+1 .. 2^63-1
currency 8 10-20 -9.22e^14 .. 9.22e^14
decimal 16 28-29 1.0 × 10^−28 to 7.9 × 10^28
布林
boolean bool 1 True/False
字元
char char 2 ASCII字元
字串
string string 自動 MAX:255字元
short 2-256 MAX:255字元
_string
ansi 4-2GB MAX:231字元
_string
wide 4-2GB MAX:230字元
_string
物件
object object
自定義變數
結構 結構
類別 類別
列舉 列舉
算數運算
+ + 加號
- - 減號
+ + 加法
- - 減法
* * 乘法
/ / 實數的除
div / 整數的除
mod % 取餘
關係運算子
= == 等於
<> != 不等
< < 小於
> > 大於
<= <= 小於||等於
>= >= 大於||等於
布林運算子
not ! 非為
and && 以及
or || 或為
xor 互斥
布林運算式
XE5 A andB A or B not A not B
C# A&&B A||B !A !B
A B
T T T T F F
T F F T F T
F T F T T F
F F F F T T
Delphi C#
指派vs判斷
:= = 指派
= == 判斷
大小寫
皆可 有分
註解方式
*XXX* /*XXX*/ 全區註解
{}
// // 單行註解
敘述區塊
begin {
end; }
變數宣告 變數宣告並給予初始值 備註
var var//
i:integer; i:integer=10;
Delphi i,j:double; j:double=12.345;
a:string; a:string='Delphi'; 單引號
TF:boolean;; TF:boolean:=false;
s:char s:char:='a'; 單引號
//表示只在本程序內有效
begin
//不可在begin之下宣告
end;
Var x : integer //表輸入分數
if (x<0) and (x>100) then // if 後有兩個判斷,要個別括號(),
lable1.caption:=('分數有誤') //若單一個判斷則可以免括號()
else if x>=60 then //else if 和 else 的前一式尾端不可加分號;
lable1.caption:=('及格') //if 或 else if 後要有 then
else
lable1.caption:=('不及格') ;var x:integer;
//Case..of
procedure TForm1.Button1Click(...);
str:string;
begin
case x of //case of 之下可使用範圍(90..95),也可以 1,3,5, 不須用到 break;
90..100 : str:='A' ;
80..89 : str:='B' ;
70..79 : str:='C' ;
0..69 : str:='D' ;
else str:='輸入錯誤!' ;
end;
label1.Caption:=str;
end;
//FOR迴圈
procedure TForm1.Button1Click(...);
var i, sum : integer ;
begin
sum:=0;
for i:=1 To 100 Do //表示從1到100
begin //條件區間開始
sum:=sum+i; //不行+=
end; //條件區間結束
lb1.caption:= '總和: '+IntToStr(sum);
end;
//while迴圈
procedure TForm1.Button1Click(...);
var i, sum : integer ;
begin
sum:=0; i:=1;
while i<=100 do
begin
sum:=sum+i;
i:=i+1;
end;
lb1.caption:= '總和: '+IntToStr(sum);
end;
int i; int i =10
double j,k; double j=12.345
C# string a string a="C#" 雙引號
bool TF; bool TF=false
s:char s:char:='a' 單引號
{
//也可在框框內宣告,只在此程序'procedure'中有效
}
int x ; //表輸入分數
if (x<0 && x>100) //if 後判斷都要括號
lable1.Text:=("分數有誤") ; //若兩個判斷要一起括號,不能分開括 if (x<0) && (x>100)
else if (x>=60) //else if 和 else 的前一式尾端都要加 ;
lable1.Text:=("及格") ;
else
lable1.Text:=("不及格") ;
private void button3_Click(object sender,...)
{
x=x/10 ; // 取商
switch (x) //視情況使用 break,不使用break,有範圍功能。
{
case 10: // case 10 後無break 表 90-100
case 9: label1.Text = "A 等"; break;
case 8: label1.Text = "B 等"; break;
case 7: label1.Text = "C 等"; break;
case 6: label1.Text = "D 等"; break;
default: label1.Text = "E 等"; break;
}
}
private void button3_Click(object sender,...)
{
int i ,sum;
sum=0;
for (i=1;i<=100;i++) //表示從1加到100
{ //條件區間開始
sum+=i; //可用簡寫+=
} //條件區間結束
lb1.Text="總和:"+Convert.ToString(sum);
}
private void button3_Click(object sender,..)
{
int i ,sum;
sum=0;i=1;
while (i<= 100)
{
sum += i;
i++;
}
lb1.Text="總和:"+Convert.ToString(sum);
}
|