如何在 C# 中将文本框中的多个数字转换为 int
本文关键字:数字 转换 int 文本 | 更新日期: 2023-09-27 18:33:41
对于编程任务,我必须用Visual C#制作一个简单的骰子游戏。这个游戏的一部分是显示值的列表,并查看值的总和是否超过某个数字。我目前有一个文本框,显示用换行符分隔的各个值,并且目前正在使用 iPlayer1Total += int.Parse(player1TxtBox.Text);
,但这似乎只做了文本框的第一行。
您似乎正在使用多行文本框。首先在"'''r"上拆分字符串,然后:
string[] strArray =player1TxtBox.Text.Split("'n'r".ToCharArray());
然后
int iPlayer1Total = 0;
foreach (string str in strArray)
{
int temp =0;
int.TryParse(str, out temp);
iPlayer1Total += temp;
}
编辑:更好的拆分选项是:
var strArray = player1TxtBox.Text.Split("'r'n".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
沿换行符将字符串拆分为数组。
String.split应该能带你到达那里。
然后解析每个值,瞧
您应该将文本拆分为字符串数组。MSDN
string[] list = player1TxtBox.Text.Split(new string[] { "'r'n" }, StringSplitOptions.RemoveEmptyEntries);
,然后使用
foreach(string num in list)
iPlayer1Total += int.Parse(num);
MSDN 库是您的朋友。查看文本框上的条目,您将找到所需的内容:
http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox.aspx
提示:请注意Lines
属性。
使用
string[] str = textbox.Text.Split(@"'n'r");
int a=0;
for(int i=0; i< str.Length; i++)
a += int.TryParse(a);
既然是骰子,那么假设每个值只有一个字符,这是否安全。
string t = "125 yhsd 7,8+2";
List<int> diceValues=new List<int>();
foreach (char c in t)
{
int o=0;
int.TryParse(c.ToString(),out o);
if (o > 0 && o < 7)
diceValues.Add(o);
}
输出应为
骰子值125阿拉伯数字
我没有测试或编译它,所以可能会出现错误