我对此进行了很多不同的研究,据我发现,字符串不存在 tryparse 和 parse 。所以我正在为此寻找替代方案。
我有 7 个不同的文本框,当单击按钮时,我需要它来检查文本框(变量是字符串),如果文本框为空,我希望它完全跳过它。如果文本框中有一个字符串,我希望它把它添加到一个列表中。它不一定是一个列表,我更喜欢一个列表,但我不会挑剔!几乎是最好的方法。我还有其他 7 个浮点值复选框,这就是我所拥有的:
List<float> ListGrade = new List<float>();
float LG;
if (float.TryParse(txtGrade1.Text, out LG))
ListGrade.Add(LG);
if (float.TryParse(txtGrade2.Text, out LG))
ListGrade.Add(LG);
if (float.TryParse(txtGrade3.Text, out LG))
ListGrade.Add(LG);
if (float.TryParse(txtGrade4.Text, out LG))
ListGrade.Add(LG);
if (float.TryParse(txtGrade5.Text, out LG))
ListGrade.Add(LG);
if (float.TryParse(txtGrade6.Text, out LG))
ListGrade.Add(LG);
if (float.TryParse(txtGrade7.Text, out LG))
ListGrade.Add(LG);
这很完美,但我想不出一个字符串。我考虑过使用 nullorwhitespace,但我不确定如何完全跳过文本框。我以前从未使用过列表,这是第一次,我还没有完全理解 out 关键字。每次我进行搜索时,除了说 if (textbox1.Text == "") 之外什么都没有出现,但这并没有显示如何跳过文本框。
此外,使用上面的代码和另一个看起来相同的列表,除了文本框相同且名称不同,我得到一个错误,说我在上面代码末尾使用此代码时使用了未声明的变量:
if (ListGrades.Count > 0 && ListCredits.Count > 0)
AverageGrade = ListGrades.Sum() / ListCredits.Sum();
我必须在上面添加一个 else 语句吗?当我这样做时,它会起作用,但我不确定我可以添加什么,因此最终结果不会被搞砸。
如果你们需要更多信息,请告诉我。我正在努力学习和研究,但我很难过!
多谢你们!