文章目录
- 一、随机数
- 1、`Random.Next()`生成随机整数
- 示例:生成一个随机整数
- 生成指定范围内的随机整数
- 2、`Random.NextSingle`生成随机浮点数
- 示例:生成随机浮点数
- 3、 生成随机字母或字符
- 示例:生成随机字母
- 示例:生成随机小写字母
- 二、string字符串拼接
- 1、通过`+`号来进行字符串拼接
- 示例:
- 注意事项:
- 2、使用复合运算符`+=`进行字符串拼接
- 示例:
- 注意事项:
- 3、`string.Format`进行字符串拼接
- 示例:
- 优点:
- 注意事项:
- 4、使用 String.Concat 进行字符串拼接
- 示例:
- 优点:
- 5、使用`$`内插字符串
- 示例:
- 三、语句的简写
- 1、单行语句的简写
- 2、属性简写
- 3、方法简写
- 专栏推荐
- 完结
一、随机数
在 C# 中,生成随机数通常使用 Random
类。Random
类提供了一些方法来生成不同类型的随机数,比如整数、浮点数等。
特点:左包含,右不包含
1、Random.Next()
生成随机整数
要生成随机整数,可以使用 Random
类的 Next()
方法。
示例:生成一个随机整数
Random random = new Random();
int randomNumber = random.Next(); // 生成一个非负整数
Console.WriteLine(randomNumber);
生成指定范围内的随机整数
可以通过 Next(int minValue, int maxValue)
方法指定生成随机数的范围。minValue
是随机数的最小值(包含),maxValue
是随机数的最大值(不包含)。
Random random = new Random();
int randomInRange = random.Next(1, 100); // 生成 1 到 99 之间的随机整数
Console.WriteLine(randomInRange);
2、Random.NextSingle
生成随机浮点数
如果需要生成随机的浮点数,可以使用 NextSingle()
方法,返回大于或等于0.0且小于1.0的随机浮点数。
示例:生成随机浮点数
Random random = new Random();
float randomFloat = random.NextSingle(); // 生成一个 0.0 到 1.0 之间的随机浮点数
Console.WriteLine(randomFloat);//比如返回0.49565697
3、 生成随机字母或字符
可以通过随机生成字符的 ASCII 码来生成随机字母。
示例:生成随机字母
Random random = new Random();
char randomChar = (char)random.Next('A', 'Z' + 1); // 生成大写字母
Console.WriteLine(randomChar);
示例:生成随机小写字母
Random random = new Random();
char randomChar = (char)random.Next('a', 'z' + 1); // 生成小写字母
Console.WriteLine(randomChar);
二、string字符串拼接
在 C# 中,字符串拼接有多种方式,每种方法都有不同的使用场景和性能表现。
1、通过+
号来进行字符串拼接
这是最直接且常见的字符串拼接方式。你可以通过 + 运算符将两个或多个字符串连接在一起。
示例:
int i = 100;
string str = "你考了" + i + "分";
Console.WriteLine(str);
打印结果
注意字符串加数字的区别
string str = "123";
str = str + 1 + 2 + 3;
Console.WriteLine(str); // 输出 "123123"
string str = "123";
str = str + (1 + 2 + 3); // 1 + 2 + 3 = 6,所以 str 变为 "1236"
Console.WriteLine(str); // 输出 "1236"
注意事项:
+
运算符每次拼接字符串时,都会生成新的字符串对象。这可能会导致性能问题,尤其是在循环中进行多次拼接时。- 字符串是不可变的,每次拼接时都会创建一个新的字符串对象,导致内存分配的开销。
2、使用复合运算符+=
进行字符串拼接
+=
是一种复合赋值运算符,类似于 +
,但它将拼接的结果赋值回原来的变量。这种方式和 +
运算符类似,但通常用于在已有字符串的基础上进行累加。
示例:
string str = "123";
str += 1 + 2 + 3 + 4; // str 进行累加操作,1 + 2 + 3 + 4 = 10,所以 str 变为 "12310"
Console.WriteLine(str); // 输出 "12310"
string str = "123";
str += "" + 1 + 2 + 3 + 4; // 这里会先将 "" 和 1 拼接成 "1",然后 "1" 和 2 拼接成 "12",依此类推,最后 str 变为 "1231234"
Console.WriteLine(str); // 输出 "1231234"
string str = "123";
str += "" + 1 + 2 + "" + (3 + 4);//优先计算括号内容
Console.WriteLine(str); // 输出 "123127"
注意事项:
- 与 + 运算符类似,+= 也会在每次拼接时创建新的字符串对象,因此在循环中频繁使用 += 拼接大量字符串时,也可能会导致性能问题。
3、string.Format
进行字符串拼接
string.Format 方法可以将多个变量插入到一个格式化字符串中,是一种更具可读性和灵活性的拼接方式。你可以使用占位符 {0}, {1}, {2} 等将参数插入到格式化的字符串中。
示例:
string str1 = "Hello";
string str2 = "World";
string result = string.Format("{0} {1}", str1, str2); // 使用 string.Format 拼接
Console.WriteLine(result); // 输出 "Hello World"
优点:
- string.Format 提供了更强大的格式化功能,比如日期格式化、数字格式化等,适用于更复杂的字符串拼接场景。
- 它比 + 运算符和 += 更具可读性,尤其是在需要插入多个变量时。
注意事项:
- 相对于
+
和+=
,string.Format
在性能上略有优势,尤其是当需要格式化多个变量时。
4、使用 String.Concat 进行字符串拼接
专门用于拼接多个字符串。它的性能比 + 运算符更高,尤其是在大量拼接字符串时。
示例:
string str1 = "Hello";
string str2 = "World";
string result = string.Concat(str1, " ", str2); // 使用 String.Concat 拼接
Console.WriteLine(result); // 输出 "Hello World"
优点:
- String.Concat 比 + 运算符在性能上更高效,尤其是当需要拼接多个字符串时。
- 它不会自动插入空格或其他字符,需要手动指定。
5、使用$
内插字符串
C# 6.0 引入了字符串插值功能,可以更简洁地在字符串中嵌入变量。它使用 $"..."
语法,允许直接在字符串中插入变量或表达式。
示例:
string str = "向宇的客栈";
int num = 100;
Console.WriteLine($"来{str}学习C#知识,随便{num}分");
三、语句的简写
1、单行语句的简写
当 if
、for
、foreach
、while
等语句中只有单个语句时,C# 允许省略
大括号 {}
,直接写一行代码。这在某些情况下可以提高代码简洁性,但需要确保不会因为省略大括号导致逻辑混乱。
-
示例:if 语句简写
if (true) Console.WriteLine("true"); if (true) Console.WriteLine("true");
-
示例:for 循环简写
for (int i = 0; i < 10; i++) Console.WriteLine(i);
-
示例:foreach 循环简写
foreach (int i in new int[] { 1, 2, 3 }) Console.WriteLine(i);
-
示例:while 循环简写
while (true) Console.WriteLine("true");
2、属性简写
在 C# 中,属性可以用更加简洁的语法来表示,特别是当属性的 get 访问器只有一行代码时。通过使用箭头 =>
运算符,可以简化属性的书写。
普通属性写法(带 get 和 set)
public int z {
get {
return x + y;
}
}
简写属性写法(带箭头)
public int z => x + y;
这是一种简洁的写法,省去了 get 访问器的传统花括号和 return 关键字。当属性的返回值是单个表达式时,可以使用这种简写方式。
3、方法简写
C# 还支持方法的简写。当方法体只有一行代码时,可以使用箭头 =>
来简化方法的定义。
-
不带参数
方法简写普通方法写法
public int TestMethod() { return x + y; }
简写方法写法
public int TestMethod() => x + y;
-
带参数
方法简写带参数的方法写法
public int TestMethod(int x, int y) { return x + y; }
简写带参数的方法
public int TestMethod(int x, int y) => x + y;
-
void 类型
无返回值方法
简写普通 void 方法写法
public void TestMethod2() { Console.WriteLine("test"); }
简写 void 方法写法
public void TestMethod2() => Console.WriteLine("test");
专栏推荐
地址 |
---|
【从零开始入门unity游戏开发之——C#篇】 |
【从零开始入门unity游戏开发之——unity篇】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架开发】 |
完结
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~