C# 更好的LinQ代码? string test=“asdf”; IEnumerable str=test.ToArray().Distinct(); 字符串[]strArray=str.Select(x=>x.ToString()).ToArray();
我需要将其转换为可枚举,然后我可以将其转换为字符串[] 您知道如何在不使用IEnumerable的情况下基于变量测试将其设置为string[]的更好解决方案吗 上述当前代码是一个迂回的过程,我想知道是否有可能通过快捷方式使其变得更好?您可以执行以下操作:C# 更好的LinQ代码? string test=“asdf”; IEnumerable str=test.ToArray().Distinct(); 字符串[]strArray=str.Select(x=>x.ToString()).ToArray();,c#,linq,C#,Linq,我需要将其转换为可枚举,然后我可以将其转换为字符串[] 您知道如何在不使用IEnumerable的情况下基于变量测试将其设置为string[]的更好解决方案吗 上述当前代码是一个迂回的过程,我想知道是否有可能通过快捷方式使其变得更好?您可以执行以下操作: string test = "asdf"; IEnumerable<char> str = test.ToArray().Distinct(); string[] strArray = str.Select(x => x.
string test = "asdf";
IEnumerable<char> str = test.ToArray().Distinct();
string[] strArray = str.Select(x => x.ToString()).ToArray();
无需在第一行中调用ToArray
,因为字符串已经是IEnumerable
您知道如何使其基于字符串[]的更好解决方案吗
关于不使用IEnumerable的变量检验
当您使用
Distinct
时,它返回IEnumerable
,我不确定您避免IEnumerable
的确切含义,但您也可以迭代字符串中的字符并将其转换为字符串,而不使用LINQ 你的例子不清楚。您想将类似“aaab”的内容转换为字符串数组{“a”,“b”}?谢谢您的帮助!
string[] strArry = test.Distinct().Select(x=> x.ToString()).ToArray();