【发布时间】:2012-03-25 20:59:47
【问题描述】:
这是一个控制台单位转换程序,它接受用户指定的测量单位(如磅、盎司),然后是第二个测量单位,最后是一个从一个单位转换为另一个单位的值。
string userUnit1, userUnit2 = "";
int userValue = 0;
可以使用的单位在文本文件中指定,其内容在程序中被拆分为字符串数组(称为“单位”)。文本文件还包含两个单位之间的“转换值”。在文本文件中,它们显示为:ounce,gram,28.0(因为一盎司有 28 克,所以这个值也放入数组中)。
用户输入的单位用下面的sn-p代码检查:
double result = 0;
if (units.Contains(userUnit1) && units.Contains(userUnit2))
{
//??? Something like:
//result = userValue */ value in the array element;
}
上面的基本 IF 语句检查用户输入的单位的数组,我想做的是使用该数组元素中的转换值来转换用户输入的数字。我该怎么办?
编辑:这是将分割文本存储到数组中的代码。
using (read = new StreamReader("C:/Users/Sam Smith/Desktop/convert.txt"))
{
while (!read.EndOfStream)
{
lineFromFile = read.ReadLine();
lineFromFile.Split(' ');
foreach (int i in lineFromFile)
{
count++;
if (count % 3 == 0)
{
units.Add(lineFromFile);
}
}
}
}
【问题讨论】:
-
您使用的拆分方法不正确。将返回值保存到字符串数组中并迭代数组。而且整个功能没有多大意义……