C#语法知识总结杂记

1、、引用命名空间:
关键字:using:
例:
/*
using System
*/

2、、定义一个新的命名空间:
关键字:namespace:
定义格式:
/*
namespace 命名空间 {}
*/

3、、声明一个新的类:
关键字:class:
声明格式:
/*
class 类名{}
*/

4、定义一个静态的函数:
关键字:static(静态);若不需要静态功能,函数名前删除static即可。
关键字:void(空返回);若不是空返回值则需声明返回值类型,即将void替换为int或float或string等数据类型关键字。

形参:定义函数时,函数括号内写的参数。
实参:实际调用时,函数括号内传递的参数。

5、标识符:
A、组成:字母,数字,下划线。
B、规则:
1.数字不能开头;
2.严格区分大小写;
3.不能和C#关键字,类库名重名;
C、命名规范:
1.简洁明了;
2.函数名&变量名:驼峰命名法,当一个变量名由多个单词组成时,首字母小写,其后的其他单词的首字母大写。如:studentParentName。
3.类名:使用帕斯卡命名方式,单词的每个首字母都大写。如:VelocityResponseWriter。
4.常量名:用全大写:MAX_PARAMETER_COUNT = 100。

D、使用规则:必须先定义,再赋值,再使用:
例:
/*
int studentNum; // 定义
studentNum = 45; // 赋值
Console.WriteLine(“学生个数:” + studentNum); // 使用
int roomNum = 6;//定义、赋值
Console.WriteLine(“教室个数:” + roomNum + “。”);//使用
*/

6、数据类型:
A、值类型:
整数:int
实数:float,double
布尔:bool
字符:char
枚举:enum
结构体:struct
B、引用类型:
字符串:string。赋值的时候需要加上 “” 双引号。
例:// string str = “这里面写的就是字符串”;

7、拓展:
1M = 1024KB 1KB = 1024B 1B(字节) = 8b(位)
A、无符整数:byte(1B),ushor(2B)t,uint(4B),ulong(8B)。
B、有符整数:sbyte(1B),short(2B),int(4B),long(8B)。
C、用sizeof(decimal或int或long)测量其数据的字节长度。
D、1字节8位中为区分存储的数的正负:首位0表示正数,1表示负数。

8、在方法或类名前面使用///,快速为其后方法或类名添加描述:
例:
/*
///
/// Main为一个主函数【这个是自己加的】
///
/// 【这个是自动生成的】
static void Main(string[] args)
{
};
*/

9、、控制台的输入输出:
A、输出一句话:
/Console.WriteLine();/
B、等待用户输入(按回车键表示输入结束):
/* Console.ReadLine();*/

10、定义枚举:
定义关键字:enum。
定义格式:public enum 名字 {}。
例:
/*
public enum CityMgSkill
{
Chuai,Qiang,Da,Ma
}
public enum Code
{
Continue = 100,
ChangeAgreement,
Success = 200,
Builded,
Received,
ServeError = 500,
}
*/
11、定义结构体:
A、定义格式:public struct 名字 {}。
B、注意:
1、结构成员不能指定为 abstract、virtual 或 protected(默认是 private)。
2、结构可带有方法、字段、索引、属性、运算符方法和事件。
3、结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,且不能被改变。
C、与类不同,结构不能继承其他的结构或类。
1、结构不能作为其他结构或类的基础结构。
2、结构可实现一个或多个接口。
3、结构成员不能指定为 abstract、virtual 或 protected。
4、当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
5、如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
D、结构体和类的区别:
1、类是引用类型,结构是值类型。
2、结构不支持继承。
3、结构不能声明默认的构造函数。

/*public struct Book
{
public float price;
public string name;
public int id;
}
public struct People
{
public string name;
public bool gender;
private int money;
public void SetMoney(int a)
{
money = a;
Console.WriteLine(money);
}

}

/
使用实例:
/
Book book1;
book1.price = 25.5f;
book1.name = “《水浒传》”;
book1.id = 1810101143;
Console.WriteLine(“书名:” + book1.name + “,价格:” + book1.price + “,id:” + book1.id + “。”);

        People p = new People();
        p.name = "张三";
        p.gender = true;
        p.SetMoney(100);
        Console.WriteLine(p);

*/

12、常量和变量:
A、变量:值可以发生变化 int a = 5; float b = 4.4f;
B、常量:值不能发生变化 (就是一个固定的值)
例: //const float PI = 3.14f;

C、不同数据类型的转换
1.隐式转换:从小区间到大区间的转换
// int a = 10;
// float b = a;
// float c = 10;
// double d = 1.5f;

2.显式转换:从大区间到小区间的转换(可能会导致数据丢失)
/*
int a = 200;
sbyte b = (sbyte)a;
Console.WriteLine(b);
short c = (short)a;
Console.WriteLine©;

        float x = 45.943f;
        int y = (int)x;
        Console.WriteLine(y);
        */

3.值类型转换为string
// int a = 1008611;
// string str1 = “” + a;
// Console.WriteLine(str1);
// 保留几位小数
// string str2 = a.ToString(“F1”);
// 转换成数字number(3位分割)
// string str2 = a.ToString(“n”);
// 加上 ¥ 前缀(还有 n 的特性)
// string str2 = a.ToString(“c”);
// 科学计数法表示
// string str2 = a.ToString(“e”);
// 转换为16进制
// string str2 = a.ToString(“x”);
// 转换为百分制
//string str2 = a.ToString(“p”);
// Console.WriteLine(str2);

4.string转换为其他
// ①string 转为 整数
// 能转换的前提是本身就是一个数字
// string str = " 123nihao ";
// string str = “123”;
// int num = int.Parse(str);
// Console.WriteLine(num + 1);
// ②string 转为 实数
// 注意:可以在 str 前后加空格,但不能加在中间
// 可以在前后中间加若干个0(注意在中后加0时越界问题)
// 只能出现一个小数点(转换后只能是实数)
// string str = " 1.230 ";
// float num = float.Parse(str);
// Console.WriteLine(num);
// ③string 转为 布尔
string str = “trUE”;
bool b = bool.Parse(str);
Console.WriteLine(b);

13、控制台操作:
A、清空控制台。
//Console.Clear();
B、获取你输入键盘字符对应的ASCII码值。
// int info = Console.Read();
C、获取你点击键盘的信息 。
//ConsoleKeyInfo(struct)
// ConsoleKeyInfo info = Console.ReadKey();
// Console.WriteLine(info.GetHashCode());
// Console.WriteLine(info.KeyChar);
D、控制台输入,默认是字符串类型:
// string info = Console.ReadLine();

14、C#_Math函数总结:
Math.abs() 计算绝对值。
Math.acos() 计算反余弦值。
Math.asin() 计算反正弦值。
Math.atan() 计算反正切值。
Math.atan2() 计算从x 坐标轴到点的角度。
Math.ceil() 将数字向上舍入为最接近的整数。
Math.cos() 计算余弦值。
Math.exp() 计算指数值。
Math.floor() 将数字向下舍入为最接近的整数。
Math.log() 计算自然对数。
Math.max() 返回两个整数中较大的一个。
Math.min() 返回两个整数中较小的一个。
Math.pow() 计算x 的y 次方。
Math.random() 返回一个0.0 与1.0 之间的伪随机数。
Math.round(,) 四舍五入为最接近的整数。
Math.sin() 计算正弦值。
Math.sqrt() 计算平方根。
Math.tan() 计算正切值。
Math.E 欧拉(Euler) 常数,自然对数的底(大约为2.718)。
Math.LN2 2 的自然对数(大约为0.693)。
Math.LOG2E e 的以2 为底的对数(大约为1.442)。
Math.LN2 10 的自然对数(大约为2.302)。
Math.LOG10E e 的以10 为底的对数(大约为0.434)。
Math.PI 一个圆的周长与其直径的比值(大约为3.14159)。
Math.SQRT1_2 1/2 的平方根的倒数(大约为0.707)。
Math.SQRT2 2 的平方根(大约为1.414)。

15、表达式:
解释:是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。

表达式其实就是一个式子:a+b ,true && false等。
表达式也是值类型。

16、运算符:

/:整除或除号;
%:取余;

17、赋值:
=: 赋值号;
+=: a+=b; ==> a=a+b;
-= a-=b; ==> a=a-b;
=: a=b ==> a=a*b;
/=: a/=b ==> a=a/b;
%=: a%=b ==> a=a%b;

18、自增自减
++:自增,自身加一;++在前表示先让该变量加一,再让其参与运算。++在后表示。先让该变量参与运算,再让其加一(以参加下次运算)。

–:自减,自身减一;–在前表示先让该变量减一,再让其参与运算。–在后表示先让该变量参与运算,再让其减一。

19、比较运算符
<: 小于;

: 大于;
<=: 小于等于;
=: 大于等于;
==: 比较是否等于;
!=: 不等于;

20、三目运算符:
使用格式:比较表达式 ? 值1 : 值2;
例:string info = a > b ? “值1” : “值2”;(如果表达式成立则则输出?后面的第一个值,若不成立则输出第二个值。?后两个待选的值可为数值型,也可为字符串。)

21、格式化字符串(同时通过大括号,占位符实现一次多输出。占位符方法在console.write()方法内同样适用。):
//string info = string.Format(“半径为:{0}的面积为:{1:f2}。”,r,s,100);

猜你喜欢

转载自blog.csdn.net/qq_34422961/article/details/85849615
今日推荐