如何在每个字符处拆分字符串

时间:2014-05-02 18:54:30

标签: c# asp.net string

我正在使用ASP.NET网页创建一个项目,我在该项目中将每个用户(客户)名称的每个字符放在每个单独的输入块中。

为此,我从Sql Server CE数据库中获取值,然后我尝试将其转换为每个输入一个字符的数组。我已经尝试了以下代码

var form_data = db.QuerySingle("SELECT * FROM Form_Data WHERE Form_Id =@0", form_id);
var name_emp = form_data.Name_Emig;
if(name_emp != null) {
    name_emp = name_emp.ToString().Split('');
}

它会生成以下编译器错误:

http://msdn.microsoft.com/en-us/library/8eb78ww7(v=vs.90).aspx(编译器错误:CS1011)

这意味着该字符无法通过空值初始化。我想在每个数组中将该值转换为一个字符。

名称如下: Afzaal Ahmad Zeeshan 。因此,在每个输入中,它将被放置在它的值内。但我使用的代码不起作用。任何建议在每个字符处拆分字符串,结果将是

{'A', 'F', 'Z', 'A', 'A', 'L' ...}

结果是资本案例还是小写无关紧要。我稍后会把它转换成所需的。

3 个答案:

答案 0 :(得分:2)

您可以尝试使用ToCharArray()

所以你的代码就是这样:

var form_data = db.QuerySingle("SELECT * FROM Form_Data WHERE Form_Id =@0", form_id);
var name_emp = form_data.Name_Emig;
if(name_emp != null) {
    name_emp = name_emp.ToCharArray();
}

答案 1 :(得分:1)

您可以使用它来迭代每个项目:

string yourString = "test";

foreach(var character in yourString)
{
 // do something with each character.
}

或者这样可以获得char[]

中的所有字符
char[] characters = yourstring.ToCharArray();

答案 2 :(得分:0)

试试name_emp.ToArray()。字符串实现IEnumerable<char>,因此ToArray将返回char的数组。

编辑: 实际上我认为ToCharArray在这种情况下更好......