C#与C/C++部分基础语法差异

来源:互联网 发布:db2执行sql脚本 编辑:程序博客网 时间:2024/05/01 22:26

博主最近在学习C#,以前摸过C和C++在学习C#基础语法时可以快速的略过,但是C#的基础语法和C和C++还是有差异,有的甚至是完全不同的,我在这里写出来打算加强自己的记忆与理解,同时希望能对其他准备开始学习C#的朋友有帮助。

输入,类型转换

C或者C++中使用scanf,cin输入,不再赘述。

C#中使用Console.ReadLine(); 将会读入一串字符串,以换行符结尾。

然后为了将字符串类型转换成需要使用到的类型需要使用 Convert,例如将读到的内容转换为int类型 
int a = Convert.ToInt32(Console.ReadLine());


Convert.To<type>(value);

Conver.To后面接上需要转换的类型,这些类型的名称定义在System中


sbyte     Convert.ToSByte

byte Convert.ToByte
short   Convert.ToInt16
ushort   Convert.ToUInt16
int Convert.ToInt32
uint Convert.ToUInt32
long Convert.ToInt64
ulong Convert.ToUInt64
float Convert.ToSingle
double Convert.ToDouble
decimal Convert.ToDecimal

数组

声明一维数组
C/C++: int array[100];

C#:int [] array = new int[100];
多维数组声明(以二维数组为例)
C/C++:int array[100][100];
C#:int [,] array;
然后在声明以后C#中需要使用new来为数组初始化。
一维数组:array = new int[100];
二维数组:array = new int [100,100];

然后在C#中存在锯齿数组,是一个数组中含有另一个数组,声明与初始化的方式为
int[][] array = new int [数组长度][];
然后嵌入在数组中的其他数组需要一个个的初始化
for (int i=0;i<数组长度;i++)
{
array[i] = new int [嵌入的数组长度];
}

字符串

C#中使用Console.ReadLine(); 将会读入一串字符串,以换行符结尾。

C#中支持将一个字符串转换为一个字符数组

string str;
string [] stra;
str=Console.ReadLine();
stra=str.ToCharArray();

字符串支持Split操作:string [] sarry = str.Split('分割字符');
进行操作后得到的字符串数组依照输入的分割字符严格分割,分割字符不会进入任何分割后的字符串 例如:
str={"12342345233"};
string [] sarry = str.Split('2');
那么得到的字符串数组 sarry将会是{"1","34","345","33"}

字符串常用命令 ToUpper()  ToLower()  Trim()  PadLeft()  PadRight() 

stringname.ToUpper() 将一个字符串中所有英文字符转换成大写,ToLower()是转换为小写。

stringname.Trim() 删除字符串中指定的字符,在括号中指定需要删除的字符,值得留意的是Trim()在指定需要删除的字符时支持使用字符数组。

例:

string str="Hello World!";

char [] s={'H',' ','o'};

str=str.Trim(s);

这时,str应该为“ellWrld!"。


PadLeft(),PadRight().分别是在字符串左边或者右边添加空格以达到指定长度,指定长度在括号中说明。


0 0