gpt4 book ai didi

c# - 我可以创建一个可以用花括号初始化的自定义类吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:36 26 4
gpt4 key购买 nike

我想在 C# 中构建自己的类,该类由带有花括号的多个参数初始化,例如 string[]

string[] x = new string[] {
"string1",
"string2",
"string3"
}

这可能吗?

编辑 很抱歉没有说清楚。我想要一个可以使用可变数量的参数以优雅的方式初始化的类。

最佳答案

支持collection initializer syntax ,你的类(class)需要实现IEnumerable并有一个公共(public)的 Add 方法。

示例:

class MyClass : IEnumerable<int>
{
public void Add(int value) { ... }

public IEnumerator<int> GetEnumerator() { ... }

IEnumerator IEnumerable.GetEnumerator() { ... }
}

用法:

var myClass = new MyClass { 1, 2, 3, 4, 5 };

或者,您可以定义一个带有可变数量参数的构造函数。您可以使用 params keyword 执行此操作.

示例:

class MyClass
{
public MyClass(params int[] args) { ... }
}

用法:

var myClass = new MyClass(1, 2, 3, 4, 5);

关于c# - 我可以创建一个可以用花括号初始化的自定义类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com