C#基础笔记
程序员文章站
2022-07-08 10:27:12
...
VS快捷键
- control+K+D 快速对齐
- control+Z :撤销
- control+S 保存
- control+J 快速弹出智能提示
- End Home 到行尾 到行首
- control+K+C 注释
- control+K+U 取消注释
- F1 转到帮助文档
- (#regino 折叠冗余代码)
(#endregion)
调试
转移字符
- \": 打印英文半角双引号
- \n: 换行
- \t: 空格
- \b: 退格键,写在两端没用
- \r\n: windows系统不认识\n只认识\r\n
- @ 1. 将转义字符视为普通字符 2. 按字符串本来格式走
保留3位小数输出
double n1 = 10.0;
int n2 = 3;
double d = n1 / n2;
Console.WriteLine("{0:0.000}", d);
//输出是3.333
1.值类型
bool: True 或 False
byte:8位无符号整数 0~255
char:16位 Unicode字符 U +0000 ~ U +ffff
decimal: 128位精确的十进制,28-29有效位数 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28
double:小数点后面15-16位
类型转换
-
Convert
string s = "123"; Convert.ToInt32(s); Convert.ToDouble(s);
-
显式转换,隐式转换 (类型兼容)
int num1 = 3; double num2 = num; int num3 = (int)num2;
所有的类型都能调用ToString() 转换成string类型.
string转int int.parse(), int.TryParse(), Convert.ToInt32(); 转double类似,double.parse()
-
string转enum
public enum QQState { nan, nv } string s = "0"; 可以成功 //string s = "nan"; 可以成功 //string s = "nnn"; 会崩 QQState state = (QQState)Enum.Parse(typeof(QQState),s) Console.WriteLine(state)
关键字
- continue 立即结束本次循环,进行下次循环
- break 跳出循环
- out 参数,函数返回值,返回多个不同类型的时候 (参数做返回值)
- ref 参数,参数在函数内可被修改,(将值传递变成了引用传递)。
- params 参数,可变参数,参数放在最后,唯一
- public:公开的公共的,在哪都能访问
- private:私有的,只能在当前类访问
- this 1.当前类的对象 2.调用自己的构造函数
- base 调用父类的成员
- virtual 标记一个方法是虚方法
- abstract 抽象的
- override 重写
- interface 接口
- partial 部分类
- sealed 密封类
冒泡排序和数组排列
//冒泡排序
int[] nums = new int[] {10,22,300,2,5,61,67,17,8 };
for(int i =0;i <nums.Length-1;i ++)
{
for (int j = 0; j < nums.Length - 1-i; j++)
{
if (nums[j] > nums[j+1])
{
int sum = nums[j];
nums[j] = nums[j+1];
nums[j+1] = sum;
}
}
}
for(int i=0;i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
//对数组元素进行升序排列
Array.Sort(nums);
//对数组进行反转
Array.Reverse(nums);
函数
public static void name(int[] num) {
}
public static int name(out int[] num) {
}
函数重载
- 方法名相同
- 参数不同:类型或者个数不能相同
- 返回值影响不了函数重载。
函数递归
函数自己调用自己,但是有一定的条件,要能出去