C#学习

C#学习

基本语法

C#大部分东西都和java相同甚至类似,下面所列举的是和java不同的内容。

using

C#中的using,用于在程序中包含命名空间,一个程序可以包含多个using,类似于java中的import。

注释

//	我是注释  	=>  这是单行注释
> /* 我是多行注释*/ 	
> ///	我是文档注释
> 
> 文档注释遵循xml风格,举个例子
> ///<summary>
> ///成员方法说明
> ///</summary>
> ///<param name="形参名1">形参1</param>
> ///<param name="形参名2">形参2</param>
> ///<returns>返回值</returns>

标识符

  • 标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
  • 标识符中的第一个字符不能是数字
  • 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ’ / \。
  • 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
  • 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
  • 不能与C#的类库名称相同。

数据类型

值类型

类型描述范围默认值
bool布尔值True 或 FalseFalse
byte8 位无符号整数0 到 2550
char16 位 Unicode 字符U +0000 到 U +ffff‘\0’
decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 1028 到 7.9 x 1028) / 100 到 280.0M
double64 位双精度浮点型(+/-)5.0 x 10-324 到 (+/-)1.7 x 103080.0D
float32 位单精度浮点型-3.4 x 1038 到 + 3.4 x 10380.0F
int32 位有符号整数类型-2,147,483,648 到 2,147,483,6470
long64 位有符号整数类型-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070L
sbyte8 位有符号整数类型-128 到 1270
short16 位有符号整数类型-32,768 到 32,7670
uint32 位无符号整数类型0 到 4,294,967,2950
ulong64 位无符号整数类型0 到 18,446,744,073,709,551,6150
ushort16 位无符号整数类型0 到 65,5350

如果要获取某一个类型占用的字节大小:sizeof(类型)

引用类型

引用类型说变了就是类似于指针,他指向一个内存位置,包括 object,dynamic,String,和java一样,object是所有类的父类。

dynamic

可以声明任意类型的数据。

String

字符串类型的值可以通过两种方式分配:" “和@” "

String str = "wenyihui";

String 字符串的前面+@(称为逐字字符串)可以将转义字符()当作普通字符对待。

String str = @"C:windows";
//等价于
String str = "C:\\windows";

并且string可以任意换行,;之前的都算在字符串内。

类型转换

类型转换分显式和隐式的。

隐式转换是将一个较小范围的数据类型转换为较大范围的,这个转换是编译器自动完成的且不会导致数据丢失。

显式转换

即强制类型转换。

将一个较大范围的数据类型转换为较小范围的,或将一个对象类型转换为另一个对象类型时,需要使用强制类型转换,其中可能会造成数据丢失。

类型转换方式同java。

在进行类型转换的时候需要注意:

  • 隐式转换只能将较小范围的数据类型转换为较大范围的数据类型,不能反过来。
  • 显示转换可能会导致数据丢失或精度降低,需要进行数据类型的兼容性检查
  • 对于对象数据类型的转换,需要惊醒类型转换的兼容性检查和类型转换的安全性检查。

常量

定义常量的关键字是const

运算符

算术运算符、关系运算符、逻辑运算符、赋值运算符略

其他运算符
运算符描述示例
&返回变量的地址&a 得到变量的实际地址
*变量指针*a 将得到变量的实际地址
?:条件表达式condition ? consequent : alternative 如果condition的结果为true,计算consequent,如果为false则计算alternative
is判断对象是否为某一类型if(Ford is Car)//判断Ford是否是Car类的一个对象
as强制转换,即使转换失败也不会抛出异常Object obj = new StringReader(“Hello”);
StringReader r = obj as StringReader;

修饰符

public所有对象都可访问
protected只有本类对象及其子类对象可以访问
private对象本身在对象内部可以访问
internal允许一个类将其成员变量和成员方法暴露给当前程序中的其他函数和对象
protected internal访问限于当前程序集或派生自包含类的类型
private protected访问受限于包含类或当前程序集中派生自包含类的类型

匿名方法

1.关键字方式 delegate

2.Lambda表达式


后期继续完善博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值