一c#中的变量类型
c#中的变量和c,c++,java中类型是大致相同的,包含以下的数据类型:int long float double decimal string char bool (B大写)。每种数据类型都有自己的范围。超出该种数据类型的范围时,会产生编译错误。
1.需要注意的是变量类型decimal,它表示的是货币值,它比double数据类型具有更高的精度和更小的范围。具体decimal使用方法参见MSDN
http://msdn.microsoft.com/zh-cn/library/364x0z75.aspx上关于decimal的介绍。下面列出其中比较重要的几点。1。int类型的变量可以直接赋值给decimal变量,但是double变量时不能直接赋值给decimal变量,需要强制类型转换。2.如果希望实数被视为 decimal 类型,请使用后缀 m 或M。3.货币格式是使用标准货币格式字符串“C”或“c”指定的。例如Console.WriteLine("Your amount = {0:C}", y);
另外一个c#中和c语言不通的变量类型新增的是var类型。该类型需要注意的是var类型可以代表任意类型的值。在C#中用var 关键字声明了一个变量之后,赋给该变量的值的类型就固定下来了。以后是不能更改的。
1.其他语言不同的是@的使用
string URL = @"c:\WINDOWS";
Console.Write (URL);
2.sting类的方法较多,常见的有
string类型是可以使用==来比较的
ToLower
ToUpper
Length属性
ToCharArray
Trim
TrimStart
TrimEnd
Split
二c#数据类型的强制类型转换
1.c#中的变量类型转的语法和c语言中是相同的。例如:
decimal myMoney;
myMoney = (decimal) 1.0f;
2.另外将string转换为其他类型时,可以使用在System命名空间中对应的.net类型中的parse()方法来实现转换
3.或者是使用C#中的Convert命令来显示的转换
三c#中的运算符和c语言大多是相同的,但是还是存在c#语言的特性的。主要体现在&,|元素符,这两个元素符可以是位运算符或者是bool类型的逻辑处理,作为bool的逻辑运算符时,这两个运算符不是短路运算,他们的操作数总是要计算的。另外补充的是在.net的环境下,数据的存储是采用的是补码的形式(正数就是本身的二进制形式,负数,各位取反,末尾加一)
四c#中的控制结构
1.foreach。参见MSDN : http://msdn.microsoft.com/zh-cn/library/ttw7t8t6.aspx
下面是一个简单的实例
int[] arr = new int[] { 0,1, 2, 3, 4 };
foreach (int n in arr)
{
Console.WriteLine(n);
}
c#中的foreach语法和java中的foreach是不相同的。java中是使用的foreach (int n : arr)来表示同样的含义。并且c#中的foreach语句
2.switch语句,和c语言不同的是c#中是可以使用字符串作为switch的变量的(string类型是能够使用==来比较)。
五复杂的数据类型
所谓的复杂数据类型主要是指枚举,结构,数组类型。
1.枚举类型,下面是一个简单的例子
enum Direction
{
SOUTH,
NORTH,
WEST,
EAST
}
class Program
{
static void Main (String[] args)
{
Direction dir = Direction.SOUTH;
string dirString = dir.ToString();
string myString = "NORTH";
Direction d = (Direction)Enum.Parse(typeof(Direction), myString);
Console.WriteLine(d.ToString());
Console.ReadKey();
}