C#基础 基本语法
1、集合、泛型、C# 4新增内容
2、C#基础、windows编程及其部署、web编程、数据访问、其他技术wcf
3、C#和.net framwork 两项技术的含义、作用、关系
4、NET Framework开源版本可以运行在多个操作系统上,NET Framwork 优点是可以集成各种操作系统的方式。 并没有定义应用程序的类型,windows应用成粗、web应用程序(多平台应用程序)、web服务
NET Framwork设计方式确保他可以用于多语言。
5、.NET Framwork 包含了公共类型系统CTS,公共语言运行库 Commmon Language Runtiome,CLR。使用面向对象的编程OOP的方法编写。
6、编译,把C#转换为计算机能够理解的语言。但是编译时不能立即创建专用于操作系统的语言,而是有一个中间语言,Common Intermediate Languge CIL。CIL是独立于计算机、操作系统、CPU的。编译器 Just-In-Time JIT反映了CIL代码仅在需要的时候才编译。
7、CIL代码存放到一个程序集中,程序集包含可执行的应用程序文件.exe和其他应用程序使用的库扩展名为dll
8、使用CLR托管功能,让.NET自己与操作系统交互。托管代码的重要功能是垃圾回收,,保证.NET不用某些内存的时候可以完全释放这些内存。
9、C#应用程序代码-------------编译-----------程序集---------JIT编译---------本机代码
10、编译为CIL的C#代码不一定包含在单独文件中,可以把应用程序放到多个代码文件中,再把他们放到一个程序集中,这个过程成为链接。
-------------------------------------------------------------------------------------------
1、C#可以编写windows应用程序,windows Forms 模块是一个控件库,用于建立windows用户界面UI。还可以使用Windows Presention Foundation(WPF)建立windows应用程序,WPF提供了更多了灵活性。
web应用程序:Active server pages ASP.NET 可以使用sesrverlight编写在浏览器内部运行的程序。
Web服务:创建分布式应用程序,可以使用web服务通过Internet虚拟交换数据,高级的还可以创建windows communication foundation (WCF)服务。
2、Console.ReadKey();这样后IDE不会马上编译。
3、C#是一种块结构的语言
4、unsigned无符号,不可以存储负数。浮点数变量类型float/double/decimal
5、组成string字符数没有上限,因为它可以使用可变大小的内存。
6、\用来做转义字符,“\"string "\”
7、C#区分大小写 命名的话不同的格式也不同。
Hungarian表示法 iAge 很容易看出变量的类型。
.NET Framework中两种命名约定,PascalCase(FirstName,TimeOfDeath)和camelCase(firstName,timeOfDeath)
8、"karli\'s string." "Karli\u0027s string." 一样的 @"Verbatim string literal."也可以用作转义字符。 "C:\\Temp\\MyDir\\MyFile.doc" ====@"C:\Temp\MyDir\MyFile.doc"
------------------------------------------------------------------------------------------
1、二元运算用在字符串中也是有意义的。
Var1=var2+var3; Var1的值是存储在var2和var3的两个字符串的连接值。
2、名称空间通常采用PascalCase命名方式,名称空间可以嵌套定义。只能在空间内部使用,LevelOne.
levelTwo.NameTwo 在levelOne里就是leveTwo.NameTwo
namespace LevelOne{
using LevelTwo;
namespace LevelTwo{
//name "NameTwo" defined
}
}
namespace LevelOne{
using LT=LevelTwo;
//name "NameThree" defined
namespace LevelTwo{
//name "NameThree" defined
}
}
3、bool类型 bool isLessThan10; isLessThan=myVal<10;
bool isKarli; isKarli=mystring=="karli";
4、C#和C++语句区别,C++可以执行完一个case语句执行另一个case语句。可以在C#中使用goto语句,
goto case <comparisonVal2>;
case <comparisonVal1>:
case <conparisonVal2>:
<cod to execute if <testVar>==<comparisonVal1> or满足条件任何一个就执行这个代码。goto语句从外部进入循环是非法的。
5、const int intTwo;定义一个常量。
6、do while之后必须使用分号。
7、continue立即终止当前循环,进入下一次循环
8、checked和unchecked使用
byte destinationVar;
short sourceVar=281;
destionationVar=checked((byte)sourceVar);
Console.WriteLine("sourceVar val:{0}",sourceVar);
Console.WriteLine("destinationVar val:{0},destinationVar")这个会出错,改为unchecked可以结果一样,但是改一下出行激活上下溢出可以进行checked操作。
9、doubleResult=floatVal+(shortVal*floatVal);shortVal先转化为float类型,接着处理+运算符,不需要进行任何转换,最后=运算符时转化为double
10、
int[] myIntArry=new int[10];
int[] myIntArry2 = new int[5]{3,4,5,6,1};//数组大小必须和元素个数匹配
//const int arrysize=5;
//int[] myIntArray=new int[ArraySize]{5,9,10,2,99};
11、foreach语句这个循环会迭代每个元素,依次把每个元素放在变量中。只能对每个数组元素进行访问,不能改变每个元素的值。
Static void Main(string[] args)
{
string[] friendNames={"Robert Barwell","Mike Parry","Jeremy Beacock"};
Console.WriteLine("Here are {0} of my firends:",friendNames.Length);
foreach(string friendName in friendsNames)
{
Console.WriteLine(fiendsName);
}
Console.Readkey();
}
12、声明二维数组
//double[,] hillHeight=new double[3,4];
//double[,] hillHeight={{1,2,3,4},{2,3,4,5},{3,4,5,6}};
double[,] hillHeight={{1,2,3,4},{2,3,4,5},{3,4,5,6}};
foreach(double hight in hillHeight)
{
Console.WriteLine{"{0}",hight};
}
13、声明数组的数组 int[][] jaggedIntArray;
初始化数组要jaggedIntArray=new int[2][];
jaggedIntArray[0]= new int[3];
jaggedIntArray[1]=new int[4];
//字面赋值的改进形式:jaggedIntArray = new int[3][]{new int[]{1,2,3},new int{1},new int[]{1,2}};
浙公网安备 33010602011771号