gpt4 book ai didi

c# - 即时将字符串转换为字符串数组

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

我有一个返回字符串数组的方法。在那个方法中,我只处理一个字符串,我想将它作为一个字符串数组返回(一个只有一个元素的字符串数组,即我的字符串 → array[0] == myString )。

我想要那个是因为我想避免一些用一个元素创建字符串数组的丑陋代码,比如:

private static string[] FooterContent()
{
string[] array = new string[1];
array[0] = GetMyData();
return array;
}

我想要这样的东西:

private static string[] FooterContent()
{
string myData = GetMyData();
return myData.ToArray();
}

还有那个myData.ToArray()应该创建一个只有一个元素的数组 ( array[0] = myString ) 然后返回它。

或者,类似的东西(如果可能的话):

private static string[] FooterContent()
{
return GetMyData().ToArray();
}

关键是我不能简单地修改 string[] 的返回类型至 string因为我正在使用从 FooterContent 返回的值(字符串数组)和其他类似方法,如 BodyContentHeadContent ,进入另一种通用方法,WriteContent()接受字符串数组。

有没有一种优雅的方式来做到这一点?

恭敬地感谢您。

最佳答案

正如 w0lf 在评论中所建议的,创建数组的最简单方法就是:

return new[] { GetMyData() };

虽然您可以创建一个扩展方法,但我个人不会 - 如果您这样做,您绝对不应该调用它 ToArray ,因为它已经对 string 有意义由于Enumerable.ToArray以及string的事实工具 IEnumerable<char> .

如果您真的非常想创建这个扩展方法,我会这样做:

public static T[] ToSingleElementArray(this T value)
{
return new[] { value };
}

然后你可以使用:

return GetMyData().ToSingleElementArray();

但正如我所说,我什至不会创建扩展方法...

关于c# - 即时将字符串转换为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32265352/

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