提交 a040db48 编写于 作者: 幻灰龙's avatar 幻灰龙

Merge branch 'master' into 'master'

添加 1..NET初阶\2.C#语法\3.在C#中执行基本字符串格式设置

See merge request !1
{
"type": "code_options",
"author": "Gao996",
"source": "StringFormatting.md"
}
\ No newline at end of file
# 在C#中执行基本字符串格式设置
System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作。由于这种数据类型非常重要,C#提供了它自己的关键字和相关的语法,以便于使用这个类来轻松地处理字符串。 String源码网址: https://referencesource.microsoft.com/#mscorlib/system/string.cs
使用运算符重载可以连接字符串:
```csharp
string message1 = "Hello"; // return "Hello"
message1 += ", CodeChina"; // return "Hello, CodeChina"
string message2 = message1 + "!"; //return "Hello, CodeChina!"
```
C#还允许使用类似于索引器的语法来提取指定的字符:
```csharp
string message1 = "Hello";
char char1 = message[1] // return 'e'
```
这个类可以完成许多常见的任务,如替换字符、删除空白和把字母变成大写形式等等。可用的方法如下表所示(此表并不完整,只介绍部分字符串提供的常用功能)。
|方法|作用|
|----|----|
|Compare|比较字符串的内容,判断某些字符是否相等|
|Concat |把多个字符串实例合并为一个实例|
|Format |格式化包含各种值的字符串和如何格式化每个值的说明符|
|IndexOf|定位字符串中第一次出现某个给定子字符串或字符的位置|
|Insert |把一个字符串实例插入到另一个字符串实例的指定索引处|
|Join |合并字符串数组,创建一个新字符串|
|PadLeft|在字符串的左侧,通过添加指定的重复字符填充字符串|
|Replace|用另一个字符或子字符串替换字符串中给定的字符或子字符串|
|Split |在出现给定字符的地方,把字符串拆分为一个字符串数组|
|Substring|在字符串中检索给定位置的子字符串|
|ToLower|把字符串转换为小写形式|
|ToUpper|把字符串转换为大写形式|
|Trim |删除首位的空白|
>注意如果Format想要输出'{'或'}',请这样string.Format("{{Hello}}");
除了这些方法C#还提供了'@'和'$',@是可以忽略字符串的转义,$是可以把代码插到字符串中。
```csharp
int count = 6;
string str1 = $"6{count}6"; // return "666"
string str2 = @"6\r6\n6"; //return "6\r6\n6"
```
以下程序中,不能使str3等于`"Hello, CodeChina!"`的是:
## 答案
```csharp
var str1 = "Hello, ";
var str2 = "CodeChina!";
var str3 = "str1" + "str2";
```
## 选项
### A
```csharp
var str1 = "Hello, ";
var str2 = "CodeChina!";
var str3 = str1 + str2;
```
### B
```csharp
var str1 = "Hello";
var str2 = "CodeChina";
var str3 = string.Format("{0}, {1]!", str1, str2);
```
### C
```csharp
var str1 = "Hello, ";
var str2 = "CodeChina!";
var str3 = string.Concat(str1, str2);
```
|格式说明符|应用|含义|示例|
|----------|----|----|----|
|C|数字类型|特定地区的货币值|$666.00|
|D|用于数字类型|一般的整数|666|
|E|数字类型|科学计数法|6.660000E+002|
|F|数字类型|小数点后的位数固定|666.00|
|G|数字类型|一般的数字|666|
|N|数字类型|通常是特定地区的数字格式|666.00|
|P|数字类型|百分比计数法|66,600.00%|
|X|只用于整数类型|十六进制格式|29A|
以下程序中,能让str1等于666.0的是:
## 答案
```csharp
string str1 = string.Format("{0:F1}", 666);
```
## 选项
### A
```csharp
string str1 = string.Format("{0:N}", 666);
```
### B
```csharp
string str1 = string.Format("{0:C}", 666);
```
### C
```csharp
string str1 = string.Format("{0:D}", 666);
```
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册