C# 在不使用拆分函数的情况下将字符串转换为数组
是否有任何方法可以将字符串(C# 在不使用拆分函数的情况下将字符串转换为数组,c#,arrays,string,C#,Arrays,String,是否有任何方法可以将字符串(“abcdef”)转换为包含其字符的字符串数组([“a”、“b”、“c”、“d”、“e”、“f”]),而无需使用string.Split函数?是 "abcdef".ToCharArray(); 因此,您需要一个字符串数组,每个字符串一个字符: string s = "abcdef"; string[] a = s.Select(c => c.ToString()).ToArray(); 这是因为string实现了IEnumerable。因此Select(c=
“abcdef”
)转换为包含其字符的字符串数组([“a”、“b”、“c”、“d”、“e”、“f”]
),而无需使用string.Split
函数?是
"abcdef".ToCharArray();
因此,您需要一个字符串数组,每个字符串一个字符:
string s = "abcdef";
string[] a = s.Select(c => c.ToString()).ToArray();
这是因为string
实现了IEnumerable
。因此Select(c=>c.ToString())
将string
中的每个char
投影到一个string
中,表示该char
和ToArray
枚举投影并将结果转换为string
的数组
如果您使用的是旧版本的C#:
string s=“abcdef”;
字符串[]a=新字符串[s.Length];
对于(int i=0;i
您可以使用linq并执行以下操作:
string value = "abcdef";
string[] letters = value.Select(c => c.ToString()).ToArray();
这将得到一个字符串数组,而不是字符数组。比上面的要大一些,但我看不到任何简单的一行代码
List<string> results = new List<string>;
foreach(Char c in "abcdef".ToCharArray())
{
results.add(c.ToString());
}
results.ToArray(); <-- done
列表结果=新列表;
foreach(abcdef.ToCharArray()中的字符c)
{
结果:添加(c.ToString());
}
结果:ToArray() 你为什么不干脆
string value="abcd";
value.ToCharArray();
textbox1.Text=Convert.toString(value[0]);
显示字符串的第一个字母;他说的是string
array,而不是char
array。请注意,如果可以在字符串中的每个char
之间对空char
进行String.Split
,则结果将是String[]
。这似乎是他所追求的行为。我的错。我冒昧地试图解释他问题中不恰当的语法,但我的解释显然是错误的。感谢您指出这一点。事实上,尽管您的两个示例最终都会给出相同的字符串数组,但第二种(“旧的”)方法要快得多。LINQ必须在将代码分解为第二组代码之前进行大量的开销转换。尝试计时测试;LINQ所用的时间是“longhand”示例的两倍多。我怀疑您的计时方法有问题。
string value="abcd";
value.ToCharArray();
textbox1.Text=Convert.toString(value[0]);