当前位置: 首页 > news >正文

C#从零开始学习笔记---第八天

大家好,欢迎来到我的频道,这里给大家先道个歉,这两天脚崴了,极度不适,所以昨天就没更新,今天的话确实也还挺不舒服的,所以今天我们的内容也不会有很多,希望大家谅解一下。那么接下来我们正式开始我们今天的内容。之前我记得我们大概了解了一下类,也提到也一些系统内内置的一些类。那我们今天就来着重记录一下我们常常用到的一些内置的类方法的使用。

1.Random类

Random类就是我们之前提到过的生成随机数的类。其实计算机里并没有随机数这个概念,我们使用代码生成的随机数,其实是经历一系列的算法,计算出大量的数字,从中一个一个给我们生成的一些假随机,伪随机。Random类可以根据传入的一个种子,生成一系列的随机数队列,然后需要调用next()方法,获取这个队列的下一个随机数。

我们创建随机数可以通过使用固定种子和不使用种子来进行创建。当我们使用固定种子的时候,在生成随机数的时候能够确保程序每次生成的随机数都相同,而不使用种子的时候,就不能保证他每次生成的随机数相同了,我们来看一下代码:

Random random = new Random(10); // 种子=10 int num = random.Next(10); Console.WriteLine(num); Random random1 = new Random(10); // 种子=10 int num1 = random1.Next(10); Console.WriteLine(num1);

在上面的代码里我们定义了一个实例random,同时设置了种子为10,这时我们就能生成次序一模一样的序列,只不过每个序列可能不一样,举个比喻,种子相当于我们制作一杯奶茶的流程,这个流程是不变的,第一步是放珍珠,第二步是放果粒,第三是布丁,第四是芋圆,这些流程都是固定的,怎么都不会变,而我们生成的随机数,就是在这些步骤的某一流程里把这个东西取了出来,就像我下面的输出了两个num,他就是在同一步骤取出来的,所以他的结果是不变的一摸一样的。我们可以来看一下结果:

我们再来看看不加种子的情况:

Random random2 = new Random(); int num2 = random2.Next(10); Console.WriteLine(num2); int num3 = random2.Next(10); Console.WriteLine(num3);

结果如下:

我们能发现,不加种子的情况下,他的运行结果是纯随机的,不会相同。

2.DateTime类

DateTime类其实是一个机构体,之所以放在这还是因为他的调用方式和我们的类差不多。这是一个对时间进行操作的数据类型,他提供了一些列方法和属性来处理日期和时间操作。具体我们来看看代码就可以了。

2.1获取当前时间

//1.获取当前时间 DateTime time= DateTime.Now; Console.WriteLine(time);

2.2获取时间的结构

//2.获取时间结构 Console.WriteLine(time.Year); Console.WriteLine(time.Day); Console.WriteLine(time.Hour); Console.WriteLine(time.Minute); Console.WriteLine(time.Second); Console.WriteLine(time.Millisecond);//毫秒 Console.WriteLine(time.DayOfYear); Console.WriteLine(time.DayOfWeek);

2.3 时间转成字符串

//3.时间转成字符串 Console.WriteLine(time.ToString("D")); Console.WriteLine(time.Year+"年"+time.Month+"月"+time.Day+"日");

2.4一些快捷操作

// yyyy完整年2026(重点) //yy后俩位26 Console.WriteLine(time.ToString("yyyy")); //2026 //MM俩位数的月份05(重点)//MMMM五月5月//MMM Console.WriteLine(time.ToString("MM"));//05 //dd(重点)21 //ddd周四 //dddd 星期四 Console.WriteLine(time.ToString("dd"));//21 //HH 24小时制 //hh 12小时制 Console. WriteLine (time. ToString ("HH"));

2.5日期的计算

//日期计算 DateTime t1= DateTime.Now; Console.WriteLine("==="+t1); //addYears() 在原先的基础之上加上x年 ,生成一个新的日期,不会在原先的日期进行修改 t1=t1.AddYears(-1); Console.WriteLine("===" + t1); //同理,addMonths()在原先基础上加上x月,addDays()在原先的基础上加上x天 //时间间隔 TimeSpan span=new DateTime(2026,6,19)-DateTime.Now; Console.WriteLine(span.Days);//算出结果 Console.WriteLine(span.Hours); Console.WriteLine(span.Minutes); Console.WriteLine(span.Seconds);

3.string类的API

字符串大家都再熟悉不过了,我们的老朋友了,今天来学习一下他的一些API。

3.1Concat() 拼接字符串

string a = "Kyrie"; string b = "Irving"; Console.WriteLine(string.Concat(a,b));

3.2Contains() 判断参数字符串 是否出现在源字符串中

//出现 返回true 不出现返回 false bool b = "wuyifan".Contains("吴"); Console.WriteLine(b);

3.3Join()把后面字符串按照第一个参数符号进行连接

string ss = string.Join("-", "a", "b", "c"); Console.WriteLine(ss);

3.4 大小写字母的转换

//4ToLower(转成小写的 string sss = "ABCD"; Console.WriteLine(sss.ToLower()); //5 ToUpper转成大写的 string aa = "abc"; Console.WriteLine(aa.ToUpper());

3.5字符串的复制copyto

aa = "ef"; char[] chars = new char [] {'a','b' }; aa.CopyTo(0, chars, 0, 3); for(int i = 0; i < chars.Length; i++) { Console.WriteLine(chars[i]+""); }

3.6Replace() 替换字符

string s2 = "吴亦凡"; Console.WriteLine(str2.Replace("吴", "*")); Console.WriteLine(str2.Replace("亦凡", "**")); Console.WriteLine(str2.Replace("吴亦凡", "***"));

3.7 Insert() 在指定的索引位置插入字符串 生成新的字符串

string st4 = "132"; onsole.WriteLine(st4.Insert(0, "吴亦凡"));

3.8 Remove() 从索引为5的位置开始 删除后面所有的字符,返回删除后的字符串

string n1 = "吴亦凡,罗志祥,李云迪"; Console.WriteLine(n1.Remove(5)); Console.WriteLine(n1.Remove(2,5));//从索引为2的位置开始,删除后面5个字符,返回删除后的字符串

3.9 StartsWith() 判断源字符串 是否以参数字符串开头

string str2 = "加拿大"; Console.WriteLine(str2.StartsWith("拿大"));

3.10 EndsWith() 判断源字符串 是否以参数字符串结尾

string str2 = "加拿大"; Console.WriteLine(str2.EndsWith("大"));

好了,今天就先到这吧,等主播调整好状态后争取给大家带来更好的内容,谢谢大家的翻阅,再见!!!

http://www.gsyq.cn/news/1342440.html

相关文章:

  • Neural Code Search:代码语义搜索原理与工程落地
  • Keras手写数字识别工业级实战:从MNIST到票据OCR
  • 如何3步完成Windows和Office永久激活:KMS_VL_ALL_AIO终极指南
  • Mythos大模型:AI驱动的推理式漏洞挖掘新范式
  • GPT-4稀疏MoE架构真相:1.8万亿参数与2%激活率的工程本质
  • Generative Ops:业务系统自优化的轻量级落地实践
  • Generative Ops:面向业务闭环的生成式代理架构
  • AWS机器学习入门:从SageMaker Studio Lab到端到端项目实战
  • MoE大模型稀疏激活机制深度解析:参数量≠计算量
  • 机器学习基础概念与AI认知边界实战指南
  • N-HiTS神经分层插值:多尺度时间序列建模原理与工业实践
  • 激活函数为什么是神经网络的非线性开关?
  • 损失函数实战手册:从业务目标到PyTorch代码的工程化落地
  • AI Agent Runtime:从上下文失忆到可审计会话的范式革命
  • AI Newsletter的本质:一种高信噪比的信息过滤与认知校准方法论
  • 避坑指南:Mac M1/M2安装Burp Suite时,关于Java环境与注册机启动失败的5个常见问题解决
  • Donut模型微调实战:端到端小票信息抽取指南
  • 对话框打字机效果:Vur + Java/Python 实现
  • 2026年循环水水处理药剂品牌排行实测盘点:福建,泉州,闽南,建筑化工原料/日化化工原料/消毒水处理药剂/消泡剂水处理药剂/选择指南 - 优质品牌商家
  • 2026年长沙美缝施工团队哪家强?专业之选等你来揭秘!
  • DALL-E真实意义:从语义向量到AI理解边界的测绘
  • 深度学习优化EDA全局布线:智能网络排序提升芯片设计效率
  • 外墙装饰施工
  • 从用户一句话到任务完成:Hermes Agent 一次请求完整链路详解
  • 2026年4月半导体加征关税查询及合规操作技术解析:美国加征关税、钢铁制品加征关税、钢铁衍生产品加征关税、锂离子蓄电池海关编码选择指南 - 优质品牌商家
  • 如何加固 VSCode 插件市场下载来源安全性设置
  • 2026年院线抗氧化产品TOP5排行:泡泡漾套盒/泡泡漾抗衰仪器/泡泡漾抗衰套盒/泡泡漾效果/泡泡漾项目/留客神器产品/选择指南 - 优质品牌商家
  • 2026年,专业打造湖南美缝施工极致体验的宝藏公司你知道吗?
  • 2026年浙江老房装修公司TOP5推荐:浙江旧改招商加盟/浙江老房局部改造招商加盟/浙江老房翻新招商加盟/浙江老房装修/选择指南 - 优质品牌商家
  • AI成本优化三剑客:Token缓存预算全解析