从文本文件中读取数据并返回String

时间:2014-09-22 08:38:15

标签: c# text

我有一个包含以下信息的文本文件:

1         no mobile
2         new mobile
641       SonyEricsson_Sunny_Standard_v09
643       Nokia_6700s_Standard_v09

txt文件中没有空格,第一列是移动ID,第二列是移动类型。

我写了一个小代码,它接受用户的输入(Mobile ID),它应该返回Mobile Type。我使用了Parse函数。 请注意,ID不是intTypeString。 这是小代码,但我不知道根据用户的输入获取移动类型的字符串缺少什么。 谢谢你的帮助

int MobileID = 0;
System.Console.WriteLine("Enter Mobile ID in Numbers and press enter");

MobileID = Convert.ToInt32(Console.ReadLine());
System.Console.WriteLine("You entered the number:" + MobileID + ".");
Console.ReadKey();

StreamReader reader = File.OpenText(@"C:\Robotron\Execution\MobileID_Type.txt");
string line;
while ((line = reader.ReadLine()) != null)
{
    string[] fields = line.Split('\t');
    int MobileType = Convert.ToInt32(fields[1]);
}

Console.ReadKey(); 

为了将用户的输入作为ID并返回与该ID对应的类型,缺少什么?

3 个答案:

答案 0 :(得分:0)

类似的东西:

string[] lines = File.ReadAllLines(@"C:\Robotron\Execution\MobileID_Type.txt");

foreach (var line in lines)
{
    string[] columns = line.Split('\t');
    if(Convert.ToInt32(columns[0]) == MobileId)
    {
         return columns[1];
    }
}

答案 1 :(得分:0)

只需更改一行:int MobileType = Convert.ToInt32(fields[1]);

p:string MobileType = fields[1].ToString();

答案 2 :(得分:-2)

这对你有用。

int MobileID = 0;
System.Console.WriteLine("Enter Mobile ID in Numbers and press enter");
MobileID = Convert.ToInt32(Console.ReadLine());
System.Console.WriteLine("You entered the number:" + MobileID.ToString + ".");
Console.ReadKey();
StreamReader reader = File.OpenText("C:\\Robotron\\Execution\\MobileID_Type.txt");
string line = null;
while (reader.Peek != -1) {
    line = reader.ReadLine();
    string[] fields = line.Split(ControlChars.Tab);
    if (MobileID == Convert.ToInt32(fields(0))) {
        Console.WriteLine("Mobile Type is:" + fields(1).ToString);
        break; // TODO: might not be correct. Was : Exit Do
    }
}
Console.ReadKey();