C# 初步学习
C# 初步学习
创建项目
1.创建文件夹
2.在终端输入:dotnet new console
3.在终端输入:dotnet run,已生成bin文件夹
4.新键.vscode文件夹,按下键盘按下键盘Ctrl+Shift+P,选择.Net:Generate Assets for build and Debug,已生成launch.json和tasks.json
5.运行program.cs即可
特殊语法
类型推定
- 使用var定义变量,使用前该变量必须被赋值
类型转换
- Convert类,如int x=Convert.toInt32("123");
- toString()方法 String s=x.toString();
foreach语句
- 用于遍历集合中的元素
int[] x=new int[4] {1,3,6,2};
foreach(var t in x)
{
if (t%2==0)
break;
Console.Write(t.ToString()+"\n");
}
跳转语句
- Return:中止当前方法的运行
- Goto:跳转到指定的代码行,只能在同一个方法
中跳转
数组定义
一维数组
- string[] Temp=new string[4];
一维并赋值
- string[] Temp=new string []{"Yes","No","F"};
二维数组
- string[,] Temp=new string[4,2];
二维并赋值
- int[,] Temp=new int [2,2] {{1,2},{3,4}};
交错数组
- 意为数组的数组,其中每个数组的长度可不同
string[][] Temp=new string[3][];
Temp[0]=new string[2];
Temp[1]=new string[5];
Temp[2]=new string[3];
Object数组
- Object数组中可用放置不同类型的数据,但在取出使用时必须进行强制转换
Object[] Ot=new object[2];
Ot[0]=10;
Ot[1]="Hello world!";
int v=(int) Ot[0];
String s=Ot[1].toString();
数组常用属性与方法
常用属性
- length: 元素的个数
- Rank:数组的维数
System.Array类
- Array.MothedName(数组)
- Array.Clear(数组)
- Array. Sort(数组)
- Array. BianarySearch(数组,值)
- Array. Reverse(数组)
- Array. Copy(源数组,目标数组,len)
字符串常用属性和方法
String str="Hello world";
- str.Length:属性,返回字串长度
- str.SubString(p,l):返回从p开始的长度为l的子串
- str.Trim(c)\TrimStart(c)\TrimEnd(c):清除字串中首尾\首
部\尾部的c字符 - str.Split(c):把字符串以字符c进行分隔,返回一个数组
- str.ToLower()\ ToUpper() :字串中的英文字母大小写转换
- str.IndexOf()\LastIndexOf():返回字串中包含子串s的第一
个\最后一个位置。从0开始计数 - str.Contains(s): 主 调 字 串 中 包 含 s 则 返 回 True , 否 则 返 回False
- str.Replace(s1,s2):对字串中的s1用s2进行替换
- str.PadLeft(int,char)/PadRight:字串长度小于指定的长度时,则以指定的字符在左/右边填充
- String.Fomat(format,ob):对ob按照指定的格式返回字串
- X.Tostring():把X的值转换成字符串
常用数学方法
产生随机数
- Random r= new Random();
- int i=r.Next(min,max);
- double d=r.NextDouble();
数学方法
double v=3.253,n=2; // v为值,n为保留小数位数
- Math.Ceiling(v):返回大于或等于v的最小整数
- Math.Floor(v):返回小于或等于v的最小整数
- Math.Round(v,n):四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一
- Math.DivRem(v1,v2,out r):返回v1与v2的商,r中保存余数
- Math.Pow(x,y):返回x的y次方
- Math.Sqrt(x):返回x的平方根
DateTime常用方法与属性
- Ticks:基本时间刻度单位,1Tics=100纳秒(Nanosecond),任何一个日期都可以表示为自公元1年1月1日0:00以来的Ticks数
- DateTime.IsLeapYear(y):判断y是不是闰年
- DateTime.Now:获取系统当前时间, DateTime.Now
常用方法
Datetime dt= DateTime.Now,dt1; 定义两个变量dt、dt1
- dt.Year:获取当前时间的年份
- dt. AddYears(n)/ AddMonths(n) / AddDays(n) :n年/月/日后的日期
- dt. Subtract(dt1):计算主调与参数两个日期之间的差值,单位是Ticks
- dt. DayofWeek:一周第几天,周日为0。整数。
- dt. DayofYear:一年中的第几天。整数
- dt. TOString(“yyyy-MM-dd hh:mm:ss”):格式化输出日期
TimeSpan常用方法与属性
- TimeSpan:表示时间间隔,即一段时间内所包含的Ticks数,
通过它可以计算日期之间有差值
变量常用方法
TimeSpan ts=DateTime.Now.AddDays(351)- DateTime.Now
- ts.TotalDays: TimeSpan变量值包括的天数
- ts.TotalHours : TimeSpan变量值包括的小时数
- ts.TotalMinutes : TimeSpan变量值包括的分钟数
- ts.TotalMinutes : TimeSpan变量值包括的分钟数
- ts.TotalMilliseconds
异常处理
try-catch语句
try
{
语句序列
}
catch (异常类型 标识符)
{
异常处理
}
finally (可无)
{
语句序列
}
throw语句
throw 表达式;
例子
int a,b,c;
a=10;b=0;
try
{
if(b%2==0)
Console.WriteLine("a/b={0}",a/b);
else
Console.WriteLine("a*b={0}",a*b);
}
catch(DivideByZeroException de)
{
Console.WriteLine(de.Message);
}
catch(Exception ee)
{
Console.WriteLine("throwed :"+ee.Message);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?