- C#可以做什么
- hello world
- 基本语法
- 数据类型
- 表达式
- 控制语句
- 特殊关键字
C#可以做什么
windows应用程序
web应用程序
web服务
hello world
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world!");
Console.ReadKey();
}
}
}
结果
hello world!
基本语法
- 区分大小写
- 注释
- // 行注释
- /* */ 行注释或者段注释
- /// 行注释
- 变量声明
- <type> <name>
int age;
age = 26;
- 变量的命名
- 变量名的第一个字母必须是字母,下划线或者@;
- 其后的可以是字母,下划线或者数字;
- 区分大小写;
- 关键字不能作为变量名
数据类型
- 简单类型
- 布尔型 : true 和 false
- 整数类型 :sbyte,byte,short,ushort,int,uint,long,ulong
- 浮点型 :float, double, decimal
- 字符型 :char
- 字符串 :string
- 转义序列
类 型 | 别 名 | 允许的值 |
---|---|---|
sbyte | System.SByte | 在-128~127之间的整数 |
byte | System.Byte | 在0~255之间的整数 |
short | System.Int16 | 在-32768~32767之间的整数 |
ushort | System.UInt16 | 在0~65535之间的整数 |
int | System.Int32 | 在-214783648~214783647之间的整数 |
uint | System.UInt32 | 在0~429567295之间的整数 |
long | System.Int64 | 在-9223372036854775808~9223372036854775807之间的整数 |
ulong | System.UInt64 | 在0~18446744073709551615之间的整数 |
float | System.Single | |
double | System.Double | |
decimal | System.Decimal | |
bool | System.Boolean | true 或者 false |
char | System.Char | 一个Unicode字符,存储0~65535之间的整数 |
string | System.String | 一组字符串,长度是可变的 |
u是unsigned的缩写表示不能在变量中存储负值。
static void Main(string[] args)
{
int myInt;
string myStr;
myInt = 17;
myStr = "my Int is ";
// 字符串中每一个{}都是一个占位符,每哥{}中的整数从0开始,对应后面的变量。
Console.WriteLine("{0} {1}.", myStr, myInt);
Console.ReadKey(); // 暂停代码执行 等待用户下一个按键
}
结果: my Int is 17.
表达式
- 数学运算符
- + 加法
- - 减法
- * 乘法
- / 除法
- % 取余
- ++、--
static void Main(string[] args)
{
int var1 = 2, var2 = 7, var3 = 21, var4 = 35;
Console.WriteLine("var1 + var2 = {0}", var1 + var2);
Console.WriteLine("var2 - var1 = {0}", var2 - var1);
Console.WriteLine("var1 * var3 = {0}", var1 * var3);
Console.WriteLine("var3 / var2 = {0}", var3 / var2);
Console.WriteLine("var3 % var1 = {0}", var3 % var1);
Console.WriteLine("var1++ = {0}", var1++);
Console.WriteLine("++var2 = {0}", ++var2);
Console.WriteLine("var3-- = {0}", var3--);
Console.WriteLine("--var4 = {0}", --var4);
Console.ReadKey();
}
结果:
var1 + var2 = 9
var2 - var1 = 5
var1 * var3 = 42
var3 / var2 = 3
var3 % var1 = 1
var1++ = 2
++var2 = 8
var3-- = 21
--var4 = 34
- 赋值运算符
- =、+=、-=、*=、/=、%=
var1 += var2; 含义:var1 = var1+var2; 其余类似。
- 运算符的优先级
- 符合数学运算优先级
- 名称空间
- .Net应用程序中定义的所有名称,包括变量名,都包含在名称空间中。
- 名称空间采用层次结构,我们需要根据包含名称的名称空间来限定,以便访问他们。
流程控制
布尔逻辑
- 布尔值运算符
- 参见逻辑运算符
- 按位运算符
- &= : var1 &= var2; var1是var1&var2的结果;
- |= : var1 |= var2; var1是var1 | var2的结果;
- ^= : var1 ^= var2; var1是var1^var2的结果;
- 运算符优先级的更新
- 布尔值运算符
goto
- 直接跳转到该行代码。
- goto lablename
- 判断语句
- 三元运算符
- test ? resutltIfTrue : resultIfFalse
- test的结果是true的时,执行resultIfTrue;否则,执行resultFalse。
- if 语句
- switch 语句
判断语句和java的用法都是类似的。
- 三元运算符
- 循环
- do :先执行,后判断
- while :先判断后执行
- for : 可以指定循环次数的循环。
- 循环中断
- break
- continue
- goto
- return
- 无限循环
- while(true)
逻辑运算符:
运算符 | 类别 | 示例表达式 | 结果 |
---|---|---|---|
== | 二元 | var1 == var2 | 相等为true;不等为false |
!= | 二元 | var1 != var2 | 不等为true;相等为false |
> | 二元 | var1 > var2 | 大于为true;以外为false |
< | 二元 | var1 < var2 | 小于为true;以外为false |
>= | 二元 | var1 >= var2 | 大于等于为true;以外为false |
<= | 二元 | var1 <= var2 | 小于等于为true;以外为false |
! | 二元 | !var2 | 逻辑非 |
& | 一元 | var1 & var2 | 逻辑与 |
| | 二元 | var1 | var2 | 逻辑或 |
^ | 二元 | var1 ^ var2 | 逻辑异或 |
&& | 二元 | var1 && var2 | 逻辑与 |
|| | 二元 | var1 | var2 | 逻辑或 |
&&,|| 和 &,| 的结果是一样的,但是性能要更好。
就目前为止,有好多东西和java,还有很久之前学的C++有很多类似的地方。看了小半天,时间基本都是花在整理文档了。代码部分暂时不贴了。相对来说比较简单。
每天进步一小点。哦也