.net 框架基础

总目录
C# 语法总目录

.net 框架基础

  • 字符、字符串
    • 1.字符
      • 1.1 字段
      • 1.2 静态方法
    • 2. 字符串
      • 2.1 null和空字符串
      • 2.2 访问字符串中的字符
      • 2.3 搜索字符串内的字段
      • 2.4 字符串的修改方法
      • 2.5 字符串格式初体验
      • 2.6 字符串的顺序比较
    • 3. StringBuilder类
  • 日期和时间
    • 1. TimeSpan
    • 2. DateTime
  • 随机数Random
  • Guid 结构体
  • 常用类
    • Console类
    • Environment 类

字符、字符串

1.字符

占用两个字节,16位,16bit,最小值0,最大值65535

System.Char 等同于 char,如果引用了System命名空间,那么也可以简写成Char

1.1 字段

class Program
{static void Main(string[] args){Console.WriteLine(Convert.ToInt32(char.MaxValue));  //字符串表示的最大范围,Convert.ToInt32是将二进制转换成十进制Console.WriteLine(Convert.ToInt32(char.MinValue));  //字符串表示的最小范围,Convert.ToInt32是将二进制转换成十进制}
}

1.2 静态方法

char chA = 'A';
char ch1 = '1';
string str = "test string";Console.WriteLine(chA.CompareTo('C'));          //-2 (meaning 'A' is 2 less than 'C')
Console.WriteLine(chA.Equals('A'));             //"True"
Console.WriteLine(Char.GetNumericValue(ch1));   //"1"
Console.WriteLine(Char.IsControl('\t'));        //"True"
Console.WriteLine(Char.IsDigit(ch1));           //"True"
Console.WriteLine(Char.IsLetter(','));          //"False"
Console.WriteLine(Char.IsLower('u'));           //"True"
Console.WriteLine(Char.IsNumber(ch1));          //"True"
Console.WriteLine(Char.IsPunctuation('.'));     //"True"
Console.WriteLine(Char.IsSeparator(str, 4));    //"True"
Console.WriteLine(Char.IsSymbol('+'));          //"True"
Console.WriteLine(Char.IsWhiteSpace(str, 4));   //"True"
Console.WriteLine(Char.Parse("S"));             //"S"
Console.WriteLine(Char.ToLower('M'));           //"m"
Console.WriteLine('x'.ToString());              //"x"

2. 字符串

string 等价于 System.String 。string是一个不可变字符序列。

//字符串定义
string s1 = "hello";
string s2 = @"\\hello";Console.Write(new string('*',5));		//*****//字符串转为字符数组
string s1 = "hello";
char[] chs = s1.ToCharArray();
foreach (var item in chs)
{Console.WriteLine(item);
}
Console.WriteLine(new string(chs));
//输出
h
e
l
l
o
hello

2.1 null和空字符串

  • 空字符串

空字符串是值长度为0的字符串,可以用string.Empty 字段来表示。

判断一个字符串是否长度为0,可以用string.Empty来比较或者使用长度是否为0来判断。

  • null

null是指字符串指向null,没有初始化。

判断一个字符串是否为null,可以与null进行比较,或者使用方法string.IsNullOrEmpty来判断字符串是否为null或者空字符串

string empty = "";
Console.WriteLine(string.Empty == empty);
Console.WriteLine("" == empty);
Console.WriteLine(string.IsNullOrEmpty(empty));string? nullStr = null;
Console.WriteLine(nullStr == null);
Console.WriteLine(nullStr == "");
Console.WriteLine(string.IsNullOrEmpty(nullStr));
//输出
True
True
True
True
False
True

2.2 访问字符串中的字符

string s1 = "times";
char ch = s1[1];
Console.WriteLine(ch);
//输出
i

string实现了IEnumerable< char > ,所以可以用 foreach 遍历它的字符

string s1 = "times";
foreach (var item in s1)
{Console.Write(item+",");
}
//输出
t,i,m,e,s,

2.3 搜索字符串内的字段

string s1 = "times";
Console.WriteLine(s1.StartsWith("ti"));
Console.WriteLine(s1.EndsWith("se"));
Console.WriteLine(s1.Contains("me"));
Console.WriteLine(s1.IndexOf("se"));
//输出
True
False
True
-1

2.4 字符串的修改方法

string s1 = "helloworld";
Console.WriteLine(s1.Substring(1,4));   //ello
Console.WriteLine(s1.Substring(2));     //lloworld  截取从开始位置以后的所有
Console.WriteLine(s1.Insert(5,"="));    //hello=world
Console.WriteLine(s1.Remove(4,3));      //hellrld
Console.WriteLine(s1.PadLeft(15,'-'));  //-----helloworld
Console.WriteLine(s1.Replace('l','o')); //heoooworodstring s2 = "---times---";
Console.WriteLine(s2.TrimStart('-'));   //times---
Console.WriteLine(s2.TrimEnd('-'));     //---times
Console.WriteLine(s2.Trim('-'));        //timesstring s3 = "  t imes-- - ";
Console.WriteLine(s3.Trim().Length);    //10  去掉头尾的空格,得出的字符串长度string s4 = "How are you?";
string[] s4s = s4.Split();
foreach (var ss in s4s)
{Console.WriteLine(ss);
}
//输出
//How
//are
//you?Console.WriteLine(string.Join(" ",s4s));    //How are you?

2.5 字符串格式初体验

string patten = "hello {0},my name is {1}.";
Console.WriteLine(string.Format(patten,"lisi","zhangsan")); //hello lisi,my name is zhangsan.//C#6 以后可以用插值
string name = "lisi";
Console.WriteLine($"hello, {name}.");     //hello,lisi.string he = "hello";
string ll = "hello";
Console.WriteLine(he==ll);          //True
Console.WriteLine(he.Equals(ll));   //True

2.6 字符串的顺序比较

string s1 = "hello";
string s2 = "world";
Console.WriteLine(s1.CompareTo(s2));        //-1
Console.WriteLine(s1.CompareTo("hello"));   //0
Console.WriteLine(string.Compare(s1,"Hello",true)); //0        忽略大小写比较

3. StringBuilder类

它是一个可变的字符串,属于System.Text命名空间。内部容量的初始值是16个字符,如果需要添加字符,那么自动调整它的容量,默认是int.MaxValue

StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10; i++)
{//sb.Append(i + ",");//替换为下面这种最好sb.Append(i);sb.Append(",");
}
Console.WriteLine(sb.ToString());               //0,1,2,3,4,5,6,7,8,9,Console.WriteLine(sb.Insert(2, "nihao"));       //0,nihao1,2,3,4,5,6,7,8,9,
Console.WriteLine(sb.Remove(sb.Length-1,1));    //0,nihao1,2,3,4,5,6,7,8,9
Console.WriteLine(sb.Replace(',','+'));         //0+nihao1+2+3+4+5+6+7+8+9

日期和时间

System空间下有三个不可变的结构体进行事件表示:DateTime、DateTimeOffset、TimeSpan

1. TimeSpan

创建TimeSpan方法:

  • 通过构造器
  • 通过调用其中一个静态 From … 方法
  • 通过两个 DateTime相减得到
Console.WriteLine(new TimeSpan(2,30,0));        //02:30:00
Console.WriteLine(TimeSpan.FromHours(2.5));     //02:30:00
Console.WriteLine(TimeSpan.FromHours(-2.5));    //-02:30:00TimeSpan TheDays = TimeSpan.FromDays(10) - TimeSpan.FromSeconds(1);
Console.WriteLine(TheDays.Days);            //9
Console.WriteLine(TheDays.Hours);           //23
Console.WriteLine(TheDays.Minutes);         //23
Console.WriteLine(TheDays.Seconds);         //59
Console.WriteLine(TheDays.Milliseconds);    //0Console.WriteLine(TheDays.TotalDays);       //9.999988425925926
Console.WriteLine(TheDays.TotalHours);      //239.99972222222223
Console.WriteLine(TheDays.TotalMinutes);    //14399.983333333334
Console.WriteLine(TheDays.TotalSeconds);    //863999
Console.WriteLine(TheDays.TotalMilliseconds);   //863999000

2. DateTime

Console.WriteLine(DateTime.Now);            //2024/5/9 10:28:49
Console.WriteLine(DateTimeOffset.Now);      //2024/5/9 10:28:49 +08:00Console.WriteLine(DateTime.UtcNow);         //2024/5/9 2:29:40      UTC标准时间
//格式化
string localDate = $"{DateTime.Now.Year}{DateTime.Now.Month}{DateTime.Now.Day}{DateTime.Now.Hour}:{DateTime.Now.Minute}:{DateTime.Now.Second}";
Console.WriteLine(localDate);   //2024年5月9日 10:33:21

随机数Random

Random能够生成类型为byte、integer或者double的伪随机数序列

Random r1 = new Random();
Console.WriteLine(r1.Next(100) + "," + r1.Next(100));

Guid 结构体

Guid 结构体表示一个全局唯一标识符。一个生成是可以肯定为全世界唯一16字节值。

Guid d = Guid.NewGuid();
Console.WriteLine(d.ToString());     //952a3b28-fc86-4ec6-b792-e7bc6ec5edfd
Guid g1 = new Guid("{952a3b28-fc86-4ec6-b792-e7bc6ec5edfd}");
Guid g2 = new Guid("952a3b28fc864ec6b792e7bc6ec5edfd");
Console.WriteLine(g1 == g2);        //True

常用类

Console类

常规的Console.WriteLine和Console.ReadLine()略。

//修改前景色,也就是文字的颜色
Console.ForegroundColor = ConsoleColor.Green;
//修改文字背景
Console.BackgroundColor = ConsoleColor.Red;
//光标后移多少个位置
Console.CursorLeft += 30;
//修改控制台的输出流到文件输出流
using (System.IO.TextWriter w = System.IO.File.CreateText("e:\\output.txt"))
{Console.SetOut(w);Console.WriteLine(Console.ReadLine());
}

Environment 类

属于System.Environment 。它提供了以下属性

  • 文件夹和文件 CurrentDirectory、SystemDirectory、CommandLine
  • 计算机和操作系统 MachineName、ProcessorCount、OSVersion、NewLine
  • 用户登录 UserName、UserInteractive、UserDomainName
  • 诊断信息 TickCount、StackTrace、WorkingSet、Version
  • 获取环境变量 GetEnvironmentVariable、GetEnvironmentVariables和SetEnvironmentVariable
Console.WriteLine(Environment.CurrentDirectory);
Console.WriteLine(Environment.SystemDirectory);
Console.WriteLine(Environment.CommandLine);
Console.WriteLine("-------------------");
Console.WriteLine(Environment.MachineName);
Console.WriteLine(Environment.ProcessorCount);
Console.WriteLine(Environment.OSVersion);
Console.WriteLine(Environment.NewLine);		//输出一个空行
Console.WriteLine("-------------------");
Console.WriteLine(Environment.UserName);
Console.WriteLine(Environment.UserInteractive);
Console.WriteLine(Environment.UserDomainName);
Console.WriteLine("-------------------");
Console.WriteLine(Environment.TickCount);
Console.WriteLine(Environment.StackTrace);
Console.WriteLine(Environment.WorkingSet);
Console.WriteLine(Environment.Version);

总目录
C# 语法总目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/856051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode189 轮转数组

题目 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2…

Java面试——认证与授权

X、常见面试题汇总 1、Shiro与SpringSecutity对比 1&#xff09;Shiro的特点&#xff1a; Shiro 是 Apache 下的项目&#xff0c;相对简单、轻巧&#xff0c;更容易上手使用。 Shiro 权限功能基本都能满足&#xff0c;单点登录都可以实现。且不用与任何的框架或者容器绑定, 可…

Tensorflow入门实战 T05-运动鞋识别

目录 一、完整代码 二、训练过程 &#xff08;1&#xff09;打印2行10列的数据。 &#xff08;2&#xff09;查看数据集中的一张图片 &#xff08;3&#xff09;训练过程&#xff08;训练50个epoch&#xff09; &#xff08;4&#xff09;训练结果的精确度 三、遇到的问…

安装VSCode创建注册表出错,RegCreateKey错误码5

今天对VSCode进行做更新安装&#xff0c;谁知道安装到最后弹出下面这么个错误 找到windows下管用的一种解决办法&#xff1a; winR打开运行&#xff0c;输入 regedit找到错误提示中的路径&#xff0c;HKEY_CURRENT_USER\Software\Classes\VSCode.class\open (图中的错误注册表…

音乐圈的颠覆与挑战——创意产业在AI时代的生存之道

最近的一个月&#xff0c;音乐界经历了一场前所未有的变革。一系列音乐大模型轮番上线&#xff0c;它们以惊人的速度和准确性模仿并创作音乐&#xff0c;将素人生产音乐的门槛降到了最低。然而&#xff0c;这种技术的崛起也引发了关于音乐圈是否会被AI彻底颠覆的讨论。  这些…

第 三 方 组 件 e l e m e n t - u i[Vue]

一、组件之间的传值 组件可以由内部的Data提供数据&#xff0c;也可以由父组件通过prop的方式传值。 兄弟组件之间可以通过Vuex等统一数据源提供数据共享 第一种 Movie.vue <template><div><h1>我才不要和你做朋友</h1></div></template&…

嵌入式开发十九:SysTick—系统定时器

在前面实验中我们使用到的延时都是通过SysTick进行延时的。 我们知道&#xff0c;延时有两种方式&#xff1a;软件延时&#xff0c;即CPU 循环等待产生的&#xff0c;这个延时是不精确的。第二种就是滴答定时器延时&#xff0c;本篇博客就来介绍 STM32F4 内部 SysTick 系统定时…

高德地图轨迹回放/轨迹播放

前言 本篇文章主要介绍高德地图的轨迹回放或播放的实现过程&#xff0c;是基于vue2实现的功能&#xff0c;同时做一些改动也是能够适配vue3的。其中播放条是用的是element UI中的el-slider组件&#xff0c;包括使用到的图标也是element UI自带的。可以实现轨迹的播放、暂停、停…

【windows|004】BIOS 介绍及不同品牌电脑和服务器进入BIOS设置的方法

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 ​ &#x1f3c5;阿里云ACE认证高级工程师 ​ &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社…

【ARM】如何通过Keil MDK查看芯片的硬件信息

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标&#xff1a; 解决在开发过程中对于开发项目所使用的的芯片的参数查看的问题 2、问题场景&#xff1a; 在项目开发过程中&#xff0c;经常需要对于芯片的时钟、寄存器或者一些硬件参数需要进行确认。大多数情况下是需…

wps-文档-js宏-批量修改表格格式

目录 前言开启JS宏我的脚本参考API文档 前言 由于需要修改word的表格的格式&#xff0c;一个一个的修改太慢了&#xff0c;所以需要通过宏的方式来修改&#xff0c;需要注意的是低版本可能没有JS宏… 开启JS宏 切换到工具–>点击开发工具 点击之后功能栏会变化成这样 选…

21、架构-持久化存储

1、Kubernetes存储设计 Kubernetes在存储设计上秉承声明式API和资源抽象的理念&#xff0c;用户通过声明存储需求&#xff0c;Kubernetes负责调度和管理实际的存储资源。以下是Kubernetes存储设计中的核心概念和机制。 Mount和Volume 在Kubernetes中&#xff0c;Volume和Moun…

渗透测试基础(二) Linux+Win常用命令介绍

1. Linux常用命令 1.1 解压缩相关 1.1.1 tar命令 解包&#xff1a;tar zxvf FileName.tar 打包&#xff1a;tar czvf FileName.tar DirName1.1.2 gz命令 对于.gz格式的解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d FileName.gz压缩&#xff1a;gzip FileN…

HJ39判断两个IP是否属于同一子网

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 HJ39判断两个IP是否属于同一子网 一、 代码&#xff1a; 第一版代码没有对掩码网络号进行处理。一开始对非法字段的理解就是value大于255。然后执行示例&#xff0c; 254.255.0.0 85.122.52.249 10.57.…

Dell戴尔灵越Inspiron 16 Plus 7640/7630笔记本电脑原装Windows11下载,恢复出厂开箱状态预装OEM系统

灵越16P-7630系统包: 链接&#xff1a;https://pan.baidu.com/s/1Rve5_PF1VO8kAKnAQwP22g?pwdjyqq 提取码&#xff1a;jyqq 灵越16P-7640系统包: 链接&#xff1a;https://pan.baidu.com/s/1B8LeIEKM8IF1xbpMVjy3qg?pwdy9qj 提取码&#xff1a;y9qj 戴尔原装WIN11系…

如何优雅的一键适配Ubuntu20.04的OpenHarmony环境?请关注【itopen:openharmony_env_init】...

itopen组织&#xff1a;1、提供OpenHarmony优雅实用的小工具2、手把手适配riscv qemu linux的三方库移植3、未来计划riscv qemu ohos的三方库移植 小程序开发4、一切拥抱开源&#xff0c;拥抱国产化 一、概述 本工程的作用主要是基于Ubuntu20.04版本一键自动初始化Ubunt…

【CAPL】XMLTestModule XML文件模板

<?xml version"1.0" encoding"iso-8859-1" standalone"yes"?> <testmodule title"XML Test Module" version"1.1"><description>XML Test Module</description><testgroup title"checks …

C语言从头学22——main( )函数

C语言中的 main( ) 是程序的入口函数。即所有的程序一定要包含一个 main( ) 函数。程序总是从这个函数开始执行&#xff0c;如果没有这个函数&#xff0c;程序就无法启动。其他函数都是通过它引入程序的。 main( ) 的写法与其他函数是相同的。main函数的返回值是 int 类…

CFD笔记

CFD 定常流动与非定常流动 定常流动&#xff1a;流体流动过程中各物理量均与时间无关; 非定常流动&#xff1a;流体流动过程中某个或某些物理量与时间有关. 运动黏度 运动粘度定义&#xff1a; v μ ρ v \frac{\mu}{\rho} vρμ​&#xff0c;其中 μ \mu μ​表示粘度…

Node.js进阶——数据库

文章目录 一、步骤1、安装操作 MySQL数据库的第三方模块(mysql)2、通过 mysql 模块连接到 MySQL 数据库3、测试 二、操作 mysql 数据库1、查询语句2、插入语句3、插入语句快捷方式4、更新数据5、更新语句快捷方式6、删除数据7、标记删除 二、前后端的身份认证1、web开发模式1&a…