Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_dotnet
提交
2a33875f
S
skill_tree_dotnet
项目概览
CSDN 技术社区
/
skill_tree_dotnet
通知
30
Star
6
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_dotnet
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2a33875f
编写于
2月 09, 2022
作者:
幻灰龙
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' into 'master'
Master See merge request
!5
上级
2b4f2f9b
02863bae
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
303 addition
and
8 deletion
+303
-8
data/1..NET初阶/2.C#语法/3.C#字符串格式设置/StringFormatting.md
data/1..NET初阶/2.C#语法/3.C#字符串格式设置/StringFormatting.md
+8
-8
data/1..NET初阶/3.C#特性/1.C#3.0特性/ImplicitType.json
data/1..NET初阶/3.C#特性/1.C#3.0特性/ImplicitType.json
+8
-0
data/1..NET初阶/3.C#特性/1.C#3.0特性/ImplicitType.md
data/1..NET初阶/3.C#特性/1.C#3.0特性/ImplicitType.md
+32
-0
data/1..NET初阶/3.C#特性/1.C#3.0特性/ObjectAndCollectionInitializers.json
...T初阶/3.C#特性/1.C#3.0特性/ObjectAndCollectionInitializers.json
+8
-0
data/1..NET初阶/3.C#特性/1.C#3.0特性/ObjectAndCollectionInitializers.md
...NET初阶/3.C#特性/1.C#3.0特性/ObjectAndCollectionInitializers.md
+114
-0
data/1..NET初阶/3.C#特性/1.C#3.0特性/PartialMethod.json
data/1..NET初阶/3.C#特性/1.C#3.0特性/PartialMethod.json
+8
-0
data/1..NET初阶/3.C#特性/1.C#3.0特性/PartialMethod.md
data/1..NET初阶/3.C#特性/1.C#3.0特性/PartialMethod.md
+53
-0
data/1..NET初阶/3.C#特性/1.C#3.0特性/sample/Program.cs
data/1..NET初阶/3.C#特性/1.C#3.0特性/sample/Program.cs
+72
-0
未找到文件。
data/1..NET初阶/2.C#语法/3.C#字符串格式设置/StringFormatting.md
浏览文件 @
2a33875f
# 在C#中执行基本字符串格式设置
# 在C#中执行基本字符串格式设置
System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作。由于这种数据类
型非常重要,C#提供了它自己的关键字和相关的语法,以便于使用这个类来轻松地处理字符串。
...
...
@@ -8,8 +8,8 @@ String 源码网址: https://referencesource.microsoft.com/#mscorlib/system/stri
```
csharp
string
message1
=
"Hello"
;
// return "Hello"
message1
+=
", C
odeChina"
;
// return "Hello, CodeChina
"
string
message2
=
message1
+
"!"
;
//return "Hello, C
odeChina
!"
message1
+=
", C
SDN"
;
// return "Hello, CSDN
"
string
message2
=
message1
+
"!"
;
//return "Hello, C
SDN
!"
```
C#还允许使用类似于索引器的语法来提取指定的字符:
...
...
@@ -47,13 +47,13 @@ string str1 = $"6{count}6"; // return "666"
string
str2
=
@"6\r6\n6"
;
//return "6\r6\n6"
```
以下程序中,不能使str3等于
`"Hello, C
odeChina
!"`
的是:
以下程序中,不能使str3等于
`"Hello, C
SDN
!"`
的是:
## 答案
```
csharp
var
str1
=
"Hello, "
;
var
str2
=
"C
odeChina
!"
;
var
str2
=
"C
SDN
!"
;
var
str3
=
"str1"
+
"str2"
;
```
...
...
@@ -63,7 +63,7 @@ var str3 = "str1" + "str2";
```
csharp
var
str1
=
"Hello, "
;
var
str2
=
"C
odeChina
!"
;
var
str2
=
"C
SDN
!"
;
var
str3
=
str1
+
str2
;
```
...
...
@@ -71,7 +71,7 @@ var str3 = str1 + str2;
```
csharp
var
str1
=
"Hello"
;
var
str2
=
"C
odeChina
"
;
var
str2
=
"C
SDN
"
;
var
str3
=
string
.
Format
(
"{0}, {1]!"
,
str1
,
str2
);
```
...
...
@@ -79,7 +79,7 @@ var str3 = string.Format("{0}, {1]!", str1, str2);
```
csharp
var
str1
=
"Hello, "
;
var
str2
=
"C
odeChina
!"
;
var
str2
=
"C
SDN
!"
;
var
str3
=
string
.
Concat
(
str1
,
str2
);
```
...
...
data/1..NET初阶/3.C#特性/1.C#3.0特性/ImplicitType.json
0 → 100644
浏览文件 @
2a33875f
{
"type"
:
"code_options"
,
"author"
:
"Gao996"
,
"source"
:
"ImplicitType.md"
,
"exercise_id"
:
"41982620620243ef956a14e95c584d2d"
,
"notebook_enable"
:
false
}
\ No newline at end of file
data/1..NET初阶/3.C#特性/1.C#3.0特性/ImplicitType.md
0 → 100644
浏览文件 @
2a33875f
# C# 3.0 特性 隐式类型本地变量
从C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。隐式类型本地变量为强类型,就像用户已经自行声明该类型,但编译器决定类型一样。
```
var i = “Hello CSDN!”;```看这句代码,在下列选项中i的类型是:
## 答案
```
csharp
string
```
## 选项
### A
```
csharp
int
```
### B
```
csharp
char
```
### C
```
csharp
double
```
\ No newline at end of file
data/1..NET初阶/3.C#特性/1.C#3.0特性/ObjectAndCollectionInitializers.json
0 → 100644
浏览文件 @
2a33875f
{
"type"
:
"code_options"
,
"author"
:
"Gao996"
,
"source"
:
"ObjectAndCollectionInitializers.md"
,
"exercise_id"
:
"7bb7e2531e7a426cbd731720fa33d0ba"
,
"notebook_enable"
:
false
}
\ No newline at end of file
data/1..NET初阶/3.C#特性/1.C#3.0特性/ObjectAndCollectionInitializers.md
0 → 100644
浏览文件 @
2a33875f
# C# 3.0 特性 对象和集合初始值设定项
使用对象初始值设定项,你可以在创建对象时向对象的任何可访问字段或属性分配值,而无需调用后跟赋值语句行的构造函数。 比如下面的Cat类,以往创建对象可能
```
csharp
Cat
cat
=
new
Cat
();
cat
.
Name
=
"Tom"
;
cat
.
Age
=
10
;
```
当然可以直接为对象设置初始值,这样可以简化对象的构造,如下例子:
```
csharp
public
class
Cat
{
// 自动实现的属性
public
int
Age
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
public
Cat
()
{
}
public
Cat
(
string
name
)
{
this
.
Name
=
name
;
}
}
```
```
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
{
private
readonly
double
[,]
storage
=
new
double
[
3
,
3
];
public
double
this
[
int
row
,
int
column
]
{
get
{
return
storage
[
row
,
column
];
}
set
{
storage
[
row
,
column
]
=
value
;
}
}
}
```
```
csharp
var
identity
=
new
MatrixTest
()
{
[
0
,
0
]
=
1.0
,
[
0
,
1
]
=
0.0
,
[
0
,
2
]
=
0.0
,
[
1
,
0
]
=
0.0
,
[
1
,
1
]
=
1.0
,
[
1
,
2
]
=
0.0
,
[
2
,
0
]
=
0.0
,
[
2
,
1
]
=
0.0
,
[
2
,
2
]
=
1.0
};
```
在了解了对象和集合初始值的设定之后,实现对Dictionary初始值设定,以下选项错误的是:
## 答案
```
csharp
var
numbers
=
new
Dictionary
<
int
,
string
>()
{
7
=
"seven"
,
9
=
"nine"
,
13
=
"thirteen"
};
```
## 选项
### A
```
csharp
var
numbers
=
new
Dictionary
<
int
,
string
>()
{
[
1
]
=
"one"
,
[
9
]
=
"nine"
,
[
13
]
=
"thirteen"
};
```
### B
```
csharp
var
numbers
=
new
Dictionary
<
int
,
string
>()
{
{
19
,
"nineteen"
},
{
23
,
"twenty-three"
},
{
42
,
"forty-two"
}
};
```
### C
```
csharp
var
numbers
=
new
Dictionary
<
int
,
string
>()
{
};
```
\ No newline at end of file
data/1..NET初阶/3.C#特性/1.C#3.0特性/PartialMethod.json
0 → 100644
浏览文件 @
2a33875f
{
"type"
:
"code_options"
,
"author"
:
"Gao996"
,
"source"
:
"PartialMethod"
,
"exercise_id"
:
"4a743fa6bf5e49cf8fff28ed0f9e6bef"
,
"notebook_enable"
:
false
}
\ No newline at end of file
data/1..NET初阶/3.C#特性/1.C#3.0特性/PartialMethod.md
0 → 100644
浏览文件 @
2a33875f
# C# 3.0 特性 分部方法
分部方法在分部类型的一部分中定义了签名,并在该类型的另一部分中定义了实现。比如WPF和WinForm的窗体就是用partial关键字定义的分部类,一部分代码可以实现控件的初始化,一部分可以去实现具体方法等。
```
csharp
partial
class
PartialClassTest
{
readonly
string
str
=
"Hello CSDN!"
;
partial
void
PartialMethodTest
();
public
void
Display
()
{
PartialMethodTest
();
}
}
partial
class
PartialClassTest
{
partial
void
PartialMethodTest
()
{
Console
.
WriteLine
(
str
);
}
}
```
上面这段代码示例了分部类和方法,执行
```Display()```
方法在下列选项中可以打印出的字符串是:
## 答案
```
csharp
Hello
CSDN
!
```
## 选项
### A
```
csharp
str
```
### B
```
csharp
null
```
### C
```
csharp
抛出异常
```
\ No newline at end of file
data/1..NET初阶/3.C#特性/1.C#3.0特性/sample/Program.cs
浏览文件 @
2a33875f
...
...
@@ -63,5 +63,76 @@ public static class Extensions
}
// 隐式类型本地变量
var
i
=
“
Hello
CSDN
!”
;
// 分部方法
partial
class
PartialClassTest
{
readonly
string
str
=
"Hello CSDN!"
;
partial
void
PartialMethodTest
();
public
void
Display
()
{
PartialMethodTest
();
}
}
partial
class
PartialClassTest
{
partial
void
PartialMethodTest
()
{
Console
.
WriteLine
(
str
);
}
}
// 对象和集合初始值设定项
public
class
Cat
{
// 自动实现的属性
public
int
Age
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
public
Cat
()
{
}
public
Cat
(
string
name
)
{
this
.
Name
=
name
;
}
}
Cat
cat
=
new
Cat
{
Age
=
10
,
Name
=
"Fluffy"
};
Cat
sameCat
=
new
Cat
(
"Fluffy"
){
Age
=
10
};
var
testA
=
new
{
name
=
"Gao"
,
age
=
996
};
List
<
int
>
digits
=
new
List
<
int
>
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
};
public
class
MatrixTest
{
private
readonly
double
[,]
storage
=
new
double
[
3
,
3
];
public
double
this
[
int
row
,
int
column
]
{
get
{
return
storage
[
row
,
column
];
}
set
{
storage
[
row
,
column
]
=
value
;
}
}
}
var
identity
=
new
MatrixTest
()
{
[
0
,
0
]
=
1.0
,
[
0
,
1
]
=
0.0
,
[
0
,
2
]
=
0.0
,
[
1
,
0
]
=
0.0
,
[
1
,
1
]
=
1.0
,
[
1
,
2
]
=
0.0
,
[
2
,
0
]
=
0.0
,
[
2
,
1
]
=
0.0
,
[
2
,
2
]
=
1.0
};
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录