我想在C#中构建我自己的类,它由多个带有花括号的参数初始化,比如 string[]
string[] x = new string[] {
"string1",
"string2",
"string3"
}
Run Code Online (Sandbox Code Playgroud)
可能吗?
编辑我很抱歉没有让自己清楚.我想要一个可以以优雅的方式初始化的类,具有可变数量的参数.
dtb*_*dtb 14
要支持集合初始化程序语法,您的类需要实现IEnumerable并具有公共Add方法.
例:
class MyClass : IEnumerable<int>
{
public void Add(int value) { ... }
public IEnumerator<int> GetEnumerator() { ... }
IEnumerator IEnumerable.GetEnumerator() { ... }
}
Run Code Online (Sandbox Code Playgroud)
用法:
var myClass = new MyClass { 1, 2, 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)
或者,您可以定义一个带有可变数量参数的构造函数.您可以使用params关键字执行此操作.
例:
class MyClass
{
public MyClass(params int[] args) { ... }
}
Run Code Online (Sandbox Code Playgroud)
用法:
var myClass = new MyClass(1, 2, 3, 4, 5);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |