gpt4 book ai didi

c# - 是否可以将元素直接转换为数组?

转载 作者:行者123 更新时间:2023-11-30 18:50:05 27 4
gpt4 key购买 nike

有没有办法将 T 的单个对象转换为 T[]

将单个 string 传递给需要 string[] 的函数时,将使用它的示例

例子

void ExistingMethod(string[] sa);
void main()
{
string s;
ExistingMethod(s); //<= problem is there a syntax that allows this type of cast?
}

对这样的解决方案不感兴趣

string [] singleElementArray = new string[1];
singleElementArray[0] = s;
ExistingMethod(singleElementArray)

我正在查看 C# 是否允许这种类型的转换。

我以为我看到了一种 Java 允许它的方式,只需像这样用 [] 包装 ([s]) 即可。 C#有这种语法吗?

注意,对创建 1 的数组并分配它不感兴趣......

最佳答案

更改 foo(string[] sa)foo(params string[] sa) .

params允许您放置一个采用数组参数参数数组的数组,如下所示:foo(foo, bar, baz);而不是 foo(new[]{foo, bar, baz});

或者你可以做 .Arr<T>(this T obj)函数,返回 T[] .像这样:

public static T[] Arr<T>(this T obj)
{
return new[]{ obj };
}

然后像这样使用它:

foo(obj.Arr());

关于c# - 是否可以将元素直接转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14781179/

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