1 回答

TA貢獻1827條經驗 獲得超8個贊
我通常的方法是創建一個類來表示我們想要捕獲的數據,并為其提供一個靜態Parse方法,該方法接受輸入字符串并返回填充有字符串中的數據的類的實例。然后我們可以循環遍歷這些行并使用每行的數據填充自定義類的列表。
例如:
class TimeData
{
public TimeSpan Time { get; set; }
public int Number { get; set; }
public static TimeData Parse(string input)
{
var timeData = new TimeData();
int number;
TimeSpan time;
if (string.IsNullOrWhiteSpace(input)) return timeData;
var parts = input.Split(new char[0], StringSplitOptions.RemoveEmptyEntries);
if (parts.Length > 2 && int.TryParse(parts[2], out number))
{
timeData.Number = number;
}
if (parts.Length > 3 && TimeSpan.TryParseExact(parts[3], "hh\\:mm\\:ss\\.fffff",
CultureInfo.CurrentCulture, out time))
{
timeData.Time = time;
}
return timeData;
}
}
現在我們可以循環遍歷字符串列表,調用Parse每一行,并最終得到一個新的對象列表,其中包含與每行Time關聯的 和。Number另請注意,通過使用 aTimeSpan表示時間,我們現在擁有所有部分的屬性,例如Hour、Minute、Seconds、Milliseconds、TotalMinutes等:
var fileLines = new List<string>
{
"TN 12 1 17:45:19.90400 7173",
"TN 4 4 17:45:20.51800 7173",
"TN 13 1 17:45:24.03200 7173",
"TN 5 4 17:45:26.06300 7173",
"TN 6 4 17:45:29.28700 7173",
"TN 14 1 17:45:31.03200 7173",
};
List<TimeData> allTimeData = fileLines.Select(TimeData.Parse).ToList();
- 1 回答
- 0 關注
- 130 瀏覽
添加回答
舉報