文章目錄
- 一、隨機數
- 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
一位在小公司默默奮斗的開發者,閑暇之余,邊學習邊記錄分享,站在巨人的肩膀上,通過學習前輩們的經驗總是會給我很多幫助和啟發!如果你遇到任何問題,也歡迎你評論私信或者加群找我, 雖然有些問題我也不一定會,但是我會查閱各方資料,爭取給出最好的建議,希望可以幫助更多想學編程的人,共勉~