1.赋值出错问题
float f = 3.5;//会报错,原因是在C#中浮点型中的默认类型为double型,所以应写成3.5f
short x = 5, y = 10;//这里不会报错
short s;
s = x + y;//但这里会报错,因为赋值时的数字5和10可被视做short型,但在进行四则运算时则会变成int型,所以要写成(short)(x+y),在C#中int是整型的默认类型.下面列举一些常用数据的表示形式
123是int型,123L是long型,123UL是ulong型
4.23是double型,4.23m 是decimal型
2.返回值问题
在C#里除了设置返回值类型外,可以通过关键字ref和out来修饰参数以达到返回的目的
static public void s(out int a)
{
a = 111;
}
static void Main(string[] args)
{
int b = 0;
s(out b);
}
也可以使用引用类型的变量来直接返回修改后的值
static public void s(string[] a)
{
a[1] = "abc";
}
static void Main(string[] args)
{
string[] str = new string[] { "aaa","bbb"};
Console.WriteLine(str[1]);//bbb
s(str);
Console.WriteLine(str[1]);//abc
Console.ReadLine();
}
在C#中数组,类,接口,委托等属于引用类型
3.枚举类型的定义问题
enum das : int //基类型默认为int,也可以为byte,sbyte,short,ushort,uint,long,ulong中的一种
{
a,b,c,d //赋值默认从0开始,也可以强制赋值如:a=1
};
static void Main(string[] args)
{
Console.WriteLine(das.b.ToString());//显示枚举成员//b
Console.WriteLine(((int)das.b).ToString());//显示该枚举成员的值//1//枚举到整型的转换要是显式的
Console.ReadLine();
}
4.关键字和转义的问题
把关键字当做一般字符使用的方法是在前面加个@,例如:@ if,在普通的字符前也可以加这个,但要注意的是@并不充当名称的一部分,如@5ab 是错误的用法.
@还有一个常用的地方是在使用路径的时候让字符串保持原本的含义,因为转义序列是以"/"开头的,例:
String filename=@"C:/windows/abc.txt";
也可以写成:String filename="C://windows//abc.txt";