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

8.C# —— 随机数、DateTime时间、字符串

一、C# 随机数伪随机 安全随机1. 核心概念计算机中没有真正的随机数生成的都是伪随机数通过算法 种子计算得出。种子相同 → 生成的随机数序列完全相同不指定种子 → 默认使用系统当前时间作为种子随机性更好2. 常用随机数生成方式1Random 类基础随机数推荐日常使用// 1. 指定种子种子相同随机数相同 Random r1 new Random(10); Console.WriteLine(r1.Next()); // 2. 不指定种子默认时间为种子推荐 Random r2 new Random(); // 生成指定范围随机数 [min, max) 包含最小值不包含最大值 Console.WriteLine(r2.Next(10, 21)); // 10~20 Console.WriteLine(r2.Next(21)); // 0~20 // 3. 循环生成多个随机数重点Random 不要写在循环内 Random r3 new Random(); for (int i 0; i 4; i) { Console.WriteLine(r3.Next()); // 正确用法 }2随机生成字母 / 字符串// 方式1从指定字符串中随机取字符 string str qwertyuiopasdfghjklzxcvbnm; Random r4 new Random(); // 生成4位随机字母 string res ; for (int i 0; i 4; i) { res str[r4.Next(str.Length)]; } Console.WriteLine(res); // 方式2通过 ASCII 码生成 a-z(97~122) string res2 ; for (int i 0; i 4; i) { res2 (char)r4.Next(97, 123); } Console.WriteLine(res2);3高级随机数了解GUID全球唯一标识符几乎不会重复适合生成订单号、唯一 IDConsole.WriteLine(Guid.NewGuid());RNGCryptoServiceProvider加密级安全随机数适合密码、密钥场景RNGCryptoServiceProvider rng new RNGCryptoServiceProvider(); byte[] bs new byte[10]; rng.GetBytes(bs); Console.WriteLine(BitConverter.ToString(bs));3. 避坑指南循环生成随机数时不要在循环内 new Random ()会因为执行时间过短导致种子相同随机数重复。二、DateTime 日期时间操作1. 核心作用DateTime是结构体用于存储、获取、格式化系统日期和时间。2. 获取当前时间 拆分年月日时分秒// 获取当前系统时间 DateTime now DateTime.Now; Console.WriteLine(now); // 拆分时间分量 Console.WriteLine(now.Year); // 年 Console.WriteLine(now.Month); // 月 Console.WriteLine(now.Day); // 日 Console.WriteLine(now.Hour); // 小时(24制) Console.WriteLine(now.Minute); // 分钟 Console.WriteLine(now.Second); // 秒 Console.WriteLine(now.Millisecond); // 毫秒 Console.WriteLine(now.DayOfWeek); // 星期英文 Console.WriteLine((int)now.DayOfWeek); // 星期数字周日0 Console.WriteLine(now.DayOfYear); // 当年第几天3. 时间格式化字符串重点通过ToString(格式符)自定义时间显示格式格式符含义示例yyyy4 位年份2026MM2 位月份05dd2 位日期21HH24 小时制14hh12 小时制02mm分钟30ss秒59fff毫秒123DateTime now DateTime.Now; Console.WriteLine(now.ToString(yyyy-MM-dd HH:mm:ss)); Console.WriteLine(now.ToString(今年是yyyy年MM月dd日 HH:mm:ss));4. 时间戳秒 / 毫秒时间戳当前时间距离1970-01-01 00:00:00的秒数 / 毫秒数常用于跨平台时间传输。DateTime now DateTime.Now; DateTimeOffset offset new DateTimeOffset(now); // 1. 时间 → 时间戳 long second offset.ToUnixTimeSeconds(); // 秒 long millisecond offset.ToUnixTimeMilliseconds(); // 毫秒 // 2. 时间戳 → 时间 DateTime time DateTimeOffset.FromUnixTimeSeconds(1779347102).LocalDateTime; Console.WriteLine(time);三、时间对象的计算和比较1. 时间加减计算DateTime提供专用方法计算时间不会修改原时间返回新时间DateTime now DateTime.Now; // 加法 now now.AddYears(1); // 加1年 now now.AddMonths(2); // 加2月 now now.AddDays(3); // 加3天 now now.AddHours(1); // 加1小时 // 减法传入负数 now now.AddYears(-1); // 减1年2. 时间比较DateTime支持直接用 比较运算符重载if (DateTime.Now new DateTime(2027, 5, 24)) { Console.WriteLine(已过指定日期); } else { Console.WriteLine(未到指定日期); }3. 时间间隔TimeSpan两个时间相减得到TimeSpan时间差对象DateTime end new DateTime(2026, 5, 21, 16, 0, 0); TimeSpan span end - DateTime.Now; // 获取时间差分量 Console.WriteLine(span.Days); // 天数 Console.WriteLine(span.Hours); // 小时 Console.WriteLine(span.Minutes); // 分钟 Console.WriteLine(span.Seconds); // 秒四、string 字符串常用方法高频使用1. 字符串定义方式// 1. 普通定义 string s1 Hello C#; // 2. 换行转义 \r\n string s2 第一行\r\n第二行; // 3. 原样字符串保留格式无需转义 string path C:\Users\Desktop; // 4. new 方式重复字符 string s3 new string(c, 4); // cccc2. 字符串常用操作方法方法作用示例string.Concat(a,b)拼接多个字符串string.Concat(张,三)→张三string.Join(分隔符, 数组)用分隔符连接字符串string.Join(-,a,b)→a-bToLower()转小写ABC.ToLower()→abcToUpper()转大写abc.ToUpper()→ABCStartsWith(值)判断是否以指定字符开头返回 boolEndsWith(值)判断是否以指定字符结尾返回 boolIndexOf(值)查找字符索引不存在返回 - 1abc.IndexOf(b)→1Substring(起始,长度)截取字符串abcde.Substring(1,2)→bcReplace(旧,新)替换字符abc.Replace(a,*)→*bcSplit(分隔符)分割字符串为数组a-b-c.Split(-)→[a,b,c]Trim()去除首尾空格 张三 .Trim()→张三TrimEnd()去除尾部空格-3. 完整示例string str 尉氏县自来水污染上央视新闻 ; // 去除空格 str str.Trim(); // 判断开头 Console.WriteLine(str.StartsWith(尉)); // 查找索引 Console.WriteLine(str.IndexOf(县)); // 截取字符串 Console.WriteLine(str.Substring(3, 4)); // 替换 Console.WriteLine(str.Replace(污染, **)); // 分割 string arr a-b-c-d.Split(-);总结随机数日常用Random不写在循环内唯一 ID 用GUID安全场景用加密随机数DateTime核心掌握获取时间、格式化、时间戳转换时间计算用AddXXX方法加减用TimeSpan计算时间差字符串Substring、Replace、Split、Trim、IndexOf是工作中最常用的方法。

相关文章:

8.C# —— 随机数、DateTime时间、字符串

一、C# 随机数(伪随机 安全随机)1. 核心概念计算机中没有真正的随机数,生成的都是伪随机数(通过算法 种子计算得出)。种子相同 → 生成的随机数序列完全相同不指定种子 → 默认使用系统当前时间作为种子,…...

实测在ubuntu环境下调用taotoken api的延迟与稳定性表现

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测在ubuntu环境下调用taotoken api的延迟与稳定性表现 本文旨在分享在Ubuntu 22.04 LTS系统环境下,使用Python脚本持…...

长期使用中观察Taotoken账单的透明度与预测准确性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用中观察Taotoken账单的透明度与预测准确性 在将多个大模型API集成到日常开发或业务流后,成本的可观测性与可控性…...

开源 AI Agent Harness Engineering 模型与闭源模型的对比

开源 AI Agent Harness Engineering 模型与闭源模型的对比 摘要 如果把AI Agent比作自动驾驶汽车,那么AI Agent Harness就是这辆车的操作系统:它负责管控任务规划、工具调用、记忆管理、容错重试等所有核心逻辑,是Agent落地工程化的核心支撑…...

软件开发行业的未来:AI编程将如何改变开发行业

在科技飞速发展的今天,人工智能(AI)正以前所未有的速度渗透到各个领域,软件开发行业也不例外。AI编程作为AI技术在软件开发领域的重要应用,正在深刻地改变着开发行业的格局。对于软件测试从业者来说,了解AI…...

智慧校园之考场作弊事实识别图像数据集 考试作弊识别监控 学生作弊识别系统数据集 AI识别作弊数据集

考试违规检测数据集简介 类别 Tags 标签 Object DetectionClasses (2) 类别(2) Cheating 作弊 Not Cheating 未作弊项目详情数据集类别涵盖考试场景下多种违规行为类别,包括但不限于作弊工具使用、交头接耳、擅自离座、抄袭等典型违规场景数据…...

智慧无人机航拍巡检数据集 红外行人车辆识别数据集 行人车辆计数图像识别 红外建筑物识别 夜间低光环境下视觉感知算法 安防、交通等领域红外视觉任务 第10355期

深度学习数据集 README数据集核心信息总览维度详情数据类别目标检测类(建筑物、人们、车辆、路灯、通用物体、单个行人,共 6 类)数据数量图像样本共 60 张,包含训练、验证、测试所需的基础样本量数据集格式图像格式(支…...

抖音无水印下载器:高效保存高清视频与图集的完整解决方案

抖音无水印下载器:高效保存高清视频与图集的完整解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

py之代码实现获取字符串中每个字符的unicode值

def print_unicode_values(strings_list):"""接收字符串列表,提取所有字符的Unicode码点并以0x格式升序打印,后面加上对应字符"""unicode_values = set() # 使用集合自动去重for text in strings_list:for char in text...

py每日spider案例之netease搜索接口获取

import requestsheaders = {"accept": "application/json, text/plain, */*","accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7","cache-control": "no-cache",...

pubnub代码示例

import time from pubnub.pnconfiguration import PNConfiguration from pubnub.pubnub import PubNub, SubscribeListener from pubnub.exceptions import PubNubExceptionpublish_key=pub-c-fab-b05a-c355bb3adac5 subscribe_key=sub...

c语言之pubnub库代码示例

好的,这是 PubNub 在 FreeRTOS 平台上的核心接口代码示例: PubNub 核心接口示例 1. 初始化与配置 #include "pubnub_api.h" #include "pubnub_coreapi.h" #include "pubnub_pubsubapi.h"...

《科技代替了我工作》的传播入口:技术焦虑如何落到听众

从内容传播角度看,《科技代替了我工作》有天然的现实入口,但写法必须克制。它不是技术教程,也不是政策评论,而是把技术变化落到一个普通人的饭碗、身份感和安全感上。这个标题容易被记住,因为它把宏大的技术词变成了第…...

知识竞赛裁判怎么当?评分标准与争议处理

知识竞赛裁判怎么当?评分标准与争议处理公平 专业 高效 守护竞赛的生命线🎯 一、裁判的角色与职责知识竞赛裁判是竞赛公平的守护者,不仅要掌握规则,还要具备快速判断和沟通能力。核心职责:📋 赛前熟悉题…...

从被动响应到主动行动:AI Agent的自主性革命

从被动响应到主动行动:AI Agent的自主性革命 标题选项 《从被动响应到主动行动:AI Agent如何开启下一代人工智能的自主性革命》 《告别“一问一答”:拆解AI Agent的自主决策逻辑,看懂下一代AI的核心方向》 《从ChatGPT到自主Agent:人工智能的下一个拐点,到底革了谁的命?…...

聊一聊5家软件许可优化公司,哪个更适合你?

做软件资产管理的朋友应该都有同感:软件许可这事儿,水太深了。尤其这几年大厂审计越来越狠,一不小心就是几百万的罚单。所以很多公司开始找专门做软件许可优化的服务商。今天聊聊5家比较有代表性的:、Flexera、Snow、Anglepoint和…...

从零开始:5分钟掌握Mermaid Live Editor,告别复杂图表绘制烦恼

从零开始:5分钟掌握Mermaid Live Editor,告别复杂图表绘制烦恼 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/…...

基于Windows内核驱动框架的游戏控制器虚拟化技术实现方案

基于Windows内核驱动框架的游戏控制器虚拟化技术实现方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 在Windows游戏生态系统中,设备兼容性一…...

TVA:打通数字AI到物理AI的关键桥梁(系列)

重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...

如何用openpilot升级你的驾驶体验:让300+车型秒变智能座驾

如何用openpilot升级你的驾驶体验:让300车型秒变智能座驾 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Tren…...

鸿蒙生鲜电商页面构建:商品网格与配送档期模块详解

鸿蒙生鲜电商页面构建:商品网格与配送档期模块详解 前言 在 HarmonyOS 6.0 应用开发中,生鲜电商页面的商品展示和配送服务是两个直接影响转化率的核心模块。本文将以“鲜选菜篮”应用中的“精选货架”商品网格和“配送档期”时间选择模块为例&#xff0c…...

ncmdumpGUI:解锁网易云音乐NCM格式的3步可视化解决方案

ncmdumpGUI:解锁网易云音乐NCM格式的3步可视化解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&…...

鸿蒙生鲜电商页面构建:果蔬配送模块的声明式UI实践

鸿蒙生鲜电商页面构建:果蔬配送模块的声明式UI实践 前言 在 HarmonyOS 6.0 应用开发中,生鲜电商类页面的核心挑战在于如何高效展示商品分类、秒杀活动和商品列表,同时保持视觉吸引力。本文将以“鲜选菜篮”生鲜配送应用的主页面为例&#xff…...

3步让PS手柄在Windows上完美运行:DS4Windows终极配置指南

3步让PS手柄在Windows上完美运行:DS4Windows终极配置指南 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否曾为心爱的PlayStation手柄在Windows电脑上无法被游戏识别而烦…...

终极免费方案:一键解密网易云音乐NCM格式,轻松获得MP3文件

终极免费方案:一键解密网易云音乐NCM格式,轻松获得MP3文件 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了…...

NY382固态MT29F32T08GSLBHL8-24QM:B

NY382固态MT29F32T08GSLBHL8-24QM:B当工业设备在极端环境下稳定运行,其核心存储的每一次数据读写,都决定着生产线的效率与安全。一颗看似平凡的存储芯片,背后是无数工程师在稳定性、耐久性与环境适应性之间的精妙权衡。今天,我们聚…...

NY379固态MT29F32T08GSLBHL8-36QA:B

NY379固态MT29F32T08GSLBHL8-36QA:B在数据爆炸的时代,企业级存储对性能与可靠性的要求不断攀升。作为核心存储元件,NAND Flash 的选型直接决定系统的稳定性与寿命。美光 MT29F32T08GSLBHL8-36QA:B,以其32Tb(约4TB)的大…...

淘金币自动化脚本:每天节省20分钟,解放双手的终极指南

淘金币自动化脚本:每天节省20分钟,解放双手的终极指南 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinb…...

3分钟掌握CPU-X:Linux系统硬件信息检测的完整指南

3分钟掌握CPU-X:Linux系统硬件信息检测的完整指南 【免费下载链接】CPU-X CPU-X is a Free software that gathers information on CPU, motherboard and more 项目地址: https://gitcode.com/gh_mirrors/cp/CPU-X 你是否曾经想知道自己的Linux电脑到底用了什…...

别再乱加“impressionism”!Midjourney印象派风格生效的3个前置条件,90%新手忽略第2条

更多请点击: https://codechina.net 第一章:印象派风格在Midjourney中的本质误读与认知纠偏 当用户在 Midjourney 中输入 --style raw --s 750 并附加诸如 “impressionist painting” 或 “Monet style” 等提示词时,模型实际响应的并非印…...