我正在尝试在文本框中输入多个值,当我按下按钮时,它们将存储在一个数组中。像这样:1.1,2.2,3.3,4.4,5.5然后按下按钮,它们存储在索引0,1,2,3,4中
我理解这些值是一个字符串,需要转换,我想我接近答案,但我不确定,这是我一直在尝试的:
private void textBox1_TextChanged(object sender, EventArgs e)
{
//five values entered from textbox
string values = textBox1.Text;
string[] EmailArr = values.Split(',');
double[] yArray = new double[5] = Array.ConvertAll(values.Split(','), Double.Parse);
}
我知道这是错的,但它是沿着正确的方向吗?任何帮助表示赞赏!谢谢!
答案 0 :(得分:2)
linq方式:
var yArray = textBox1.Text
.Split(',')
.Select(m => Double.Parse(m.Trim()))
.ToArray();
顺便说一句,不要将它与TextChanged事件一起使用,而应使用Validated或Clicked on your button。
修改
请按照以下步骤操作:
双击“YourForm”.cs(具有“设计”)。
选择您的TextBox。
右键单击,选择“属性”。
请参阅“活动列表”。
删除“TextChanged”
行上的所有内容DoubleClick on line 已验证(这将在此行添加文字)
这应该打开“代码”部分。
将我的答案代码转换为新方法“private void textBox1_Validated(...)”
删除问题中的所有代码。
答案 1 :(得分:2)
或旧的时尚方式:
string values = textBox1.Text;
string[] EmailArr = values.Split(',');
double[] dlbArr = new double[EmailArr.Length];
int index = 0;
foreach (string item in EmailArr)
{
dlbArr[index] = Convert.ToDouble(item[index]);
index++;
}