簡體   English   中英

將.txt文件解析為不同的數據類型

[英]Parsing a .txt file as different data types

所以我有一個文本文件,內容如下

-9
5.23
b
99
Magic
1.333
aa

當我嘗試使用以下代碼讀取它時,GetType()函數將其輸出為字符串:

string stringData;

streamReader = new StreamReader(potato.txt);
while (streamReader.Peek() > 0)
{
    data = streamReader.ReadLine();
    Console.WriteLine("{0,8} {1,15}", stringData, stringData.GetType());
}

然后是輸出:

-9      System.String
5.23    System.String
b       System.String
99      System.String
Magic   System.String
1.333   System.String
aa      System.String

我了解我要求streamReader類以字符串形式全部讀取它。

我的問題是,如何將其讀取為不同的不同數據類型(例如,字符串,整數,雙精度),並將其輸出為:

-9      System.int
5.23    System.double
b       System.String
99      System.int
Magic   System.String
1.333   System.double
aa      System.String

您必須將字符串轉換為該類型:

string stringData;
double d;
int i;

streamReader = new StreamReader(potato.txt);
while (streamReader.Peek() > 0)
{
   data = streamReader.ReadLine();

   if (int.TryParse(data, out i) 
   {       
       Console.WriteLine("{0,8} {1,15}", i, i.GetType());
   }
   else if (double.TryParse(data, out d) 
   {       
       Console.WriteLine("{0,8} {1,15}", d, d.GetType());
   }
   else Console.WriteLine("{0,8} {1,15}", data, data.GetType());
}

通常,您會知道類型(文件的結構)。

如果不是,請使用RegEx檢查可能的intdouble值,然后將其余值作為string返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM