提交 f2247b80 编写于 作者: F feilong

fix format bug

上级 2a33875f
......@@ -82,32 +82,22 @@ Console.WriteLine(@"
## 答案
```bash
一、二、三、四、五
```
一, 二, 三, 四, 五
### 选项
## 选项
### A
```bash
一、二、三、四、六
```
一, 二, 三, 四, 六
### B
```bash
一、二、三、五、六
```
一, 二, 三, 五, 六
### C
```bash
二、三、四、五、七
```
二, 三, 四, 五, 七
### D
```bash
一、三、四、五、七
```
一, 三, 四, 五, 七
# 在C#中执行基本字符串格式设置
# 在CSharp中执行基本字符串格式设置(1)
System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作。由于这种数据类
型非常重要,C#提供了它自己的关键字和相关的语法,以便于使用这个类来轻松地处理字符串。
String 源码网址: https://referencesource.microsoft.com/#mscorlib/system/string.cs
型非常重要,CSharp提供了它自己的关键字和相关的语法,以便于使用这个类来轻松地处理字符串。
使用运算符重载可以连接字符串:
......@@ -12,7 +11,7 @@ message1 += ", CSDN"; // return "Hello, CSDN"
string message2 = message1 + "!"; //return "Hello, CSDN!"
```
C#还允许使用类似于索引器的语法来提取指定的字符:
CSharp还允许使用类似于索引器的语法来提取指定的字符:
```csharp
string message1 = "Hello";
......@@ -37,15 +36,9 @@ char char1 = message[1] // return 'e'
|ToUpper|把字符串转换为大写形式|
|Trim |删除首位的空白|
>注意如果Format想要输出'{'或'}',请这样string.Format("{{Hello}}");
注意如果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"
```
除了这些方法CSharp还提供了'@'和'$',@是可以忽略字符串的转义,'$'是可以把代码插到字符串中。
以下程序中,不能使str3等于`"Hello, CSDN!"`的是:
......@@ -82,42 +75,3 @@ var str1 = "Hello, ";
var str2 = "CSDN!";
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
{
"type": "code_options",
"author": "Gao996",
"source": "StringFormatting.md",
"notebook_enable": false,
"exercise_id": "055519a8722d41a694d846cd1bc196ba"
}
\ No newline at end of file
# 在CSharp中执行基本字符串格式设置(2)
|格式说明符|应用|含义|示例|
|----------|----|----|----|
|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
......@@ -5,8 +5,9 @@
],
"children": [],
"export": [
"Format.json",
"StringFormatting.json"
"Format1.json",
"Format2.json",
"Format3.json"
],
"keywords_must": [],
"keywords_forbid": []
......
# C# 3.0 特性 隐式类型本地变量
# CSharp 3.0 特性 隐式类型本地变量
从C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。隐式类型本地变量为强类型,就像用户已经自行声明该类型,但编译器决定类型一样。
从C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。隐式类型本地变量为强类型,就像用户已经自行声明该类型,但编译器决定类型一样。
```var i = “Hello CSDN!”;```看这句代码,在下列选项中i的类型是:
```csharp
var i = Hello CSDN!”;
```
看这句代码,在下列选项中i的类型是:
## 答案
## 答案
```csharp
string
```
## 选项
## 选项
### A
......
# C# 3.0 特性 对象和集合初始值设定项
# CSharp 3.0 特性 对象和集合初始值设定项
使用对象初始值设定项,你可以在创建对象时向对象的任何可访问字段或属性分配值,而无需调用后跟赋值语句行的构造函数。 比如下面的Cat类,以往创建对象可能
```csharp
Cat cat = new Cat();
cat.Name = "Tom";
cat.Age = 10;
```
当然可以直接为对象设置初始值,这样可以简化对象的构造,如下例子:
```csharp
......@@ -25,18 +27,26 @@ public class Cat
}
}
```
下面这段代码示例了使用具有命名类型Cat的对象初始值设定项以及如何调用无参数构造函数。
```csharp
Cat cat = new Cat { Age = 10, Name = "Fluffy" };
Cat sameCat = new Cat("Fluffy"){ Age = 10 };
```
上面这段代码示例了使用具有命名类型Cat的对象初始值设定项以及如何调用无参数构造函数。当然也可以为匿名类型设置初始值:
当然也可以为匿名类型设置初始值:
```csharp
var testA = new { name = "Gao", age = 996 };
```
下面是一个List集合的初始化例子:
```csharp
List<int> digits = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
```
除了分配字段和属性外,对象初始值设定项还可以设置索引器,如下例子:
```csharp
public class MatrixTest
......@@ -50,6 +60,8 @@ public class MatrixTest
}
}
```
以及例子:
```csharp
var identity = new MatrixTest()
{
......@@ -72,8 +84,7 @@ var identity = new MatrixTest()
## 答案
```csharp
var numbers = new Dictionary<int, string>()
{
var numbers = new Dictionary<int, string>(){
7 = "seven",
9 = "nine",
13 = "thirteen"
......@@ -85,8 +96,7 @@ var numbers = new Dictionary<int, string>()
### A
```csharp
var numbers = new Dictionary<int, string>()
{
var numbers = new Dictionary<int, string>(){
[1] = "one",
[9] = "nine",
[13] = "thirteen"
......@@ -107,7 +117,5 @@ var numbers = new Dictionary<int, string>()
### C
```csharp
var numbers = new Dictionary<int, string>()
{
};
var numbers = new Dictionary<int, string>(){};
```
\ No newline at end of file
# C# 3.0 特性 分部方法
# C# 3.0 特性 分部方法
分部方法在分部类型的一部分中定义了签名,并在该类型的另一部分中定义了实现。比如WPF和WinForm的窗体就是用partial关键字定义的分部类,一部分代码可以实现控件的初始化,一部分可以去实现具体方法等。
分部方法在分部类型的一部分中定义了签名,并在该类型的另一部分中定义了实现。比如WPF和WinForm的窗体就是用partial关键字定义的分部类,一部分代码可以实现控件的初始化,一部分可以去实现具体方法等。
```csharp
partial class PartialClassTest
......@@ -23,15 +23,15 @@ partial class PartialClassTest
}
}
```
上面这段代码示例了分部类和方法,执行```Display()```方法在下列选项中可以打印出的字符串是:
上面这段代码示例了分部类和方法,执行```Display()```方法在下列选项中可以打印出的字符串是:
## 答案
## 答案
```csharp
Hello CSDN!
```
## 选项
## 选项
### A
......@@ -48,5 +48,5 @@ null
### C
```csharp
抛出异常
抛出异常
```
\ No newline at end of file
......@@ -15,7 +15,10 @@
"AutoImplementedProperties.json",
"ExtensionMethod.json",
"ExpressionTree.json",
"QueryExpression.json"
"QueryExpression.json",
"PartialMethod.json",
"ObjectAndCollectionInitializers.json",
"ImplicitType.json"
],
"keywords_must": [],
"keywords_forbid": []
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册