当前位置: 首页 > 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.jsqmd.com/news/861875/

相关文章:

  • SageMaker Pipelines与MLflow协同实现大模型实验工程化
  • BilibiliDown音频提取:如何从B站视频中获取纯净音乐?
  • MoE混合专家架构:大模型高效推理的核心调度机制
  • GPT-4万亿参数真相:稀疏激活不是省资源,而是新算力范式
  • LSTM与递归分析结合:高维非线性系统共振的自动检测新范式
  • 如何3步完成Windows和Office永久激活:KMS_VL_ALL_AIO终极指南
  • GPT-4稀疏MoE架构真相:1.8万亿参数与2%激活率的工程本质
  • Mythos大模型:AI驱动的推理式漏洞挖掘新范式
  • 2026年Q2贵州中专职校排行:贵州中职院校/贵州技工职校/贵州职校专业/贵州职校升学/贵州职校学校/贵州职校招生/选择指南 - 优质品牌商家
  • 品达VRF:专利无损兼容技术,让空调智能升级零损伤
  • 容器编排:Kubernetes高级调度策略
  • H3CSE 高性能园区网:VRRP 技术详解
  • 深度学习优化芯片全局布线网络排序:从特征工程到模型实战
  • 海思Hi3516CV610网络摄像头AI摄像机开发板源码 全开源AI摄像头 人形人脸车辆检测电动车检测算法 车牌识别源码 人脸识别源码 YOLO检测 支持SVAC3.0 开发板+源码
  • FlashAttention与Hugging Face Pipeline:2021年AI工程落地三大关键技术解析
  • 2026年Q2西南地区钢套钢蒸汽保温钢管靠谱厂家排行:四川保温钢管价格、四川保温钢管厂家、西藏保温钢管厂家、保温钢管批发厂家选择指南 - 优质品牌商家
  • MoE大模型稀疏激活机制深度解析:参数量≠计算量
  • scikit-learn自定义Pipeline:从接口契约到业务落地的完整实践
  • Q学习入门:用DQN训练乒乓AI的原理与实操
  • 深度学习优化EDA全局布线:智能网络排序提升芯片设计效率
  • Win11Debloat:3分钟彻底清理Windows 11臃肿系统,恢复纯净体验
  • tokenspeed 工具:直观感受大语言模型每秒生成 token 速率
  • 开源大型收银系统+扫码点单+大型商城系统一体化_OctShop
  • 10个工业级损失函数实战指南:从原理、代码到避坑
  • 【技术应用】邻近连接技术PLA应用实例介绍——第Ⅰ期:蛋白-蛋白
  • 损失函数实战手册:从业务目标到PyTorch代码的工程化落地
  • 微信小程序7
  • VMPDump:突破性动态脱壳与智能导入表修复技术方案
  • AI Agent Runtime:从上下文失忆到可审计会话的范式革命
  • DALL-E真实意义:从语义向量到AI理解边界的测绘