我有一個看起來像這樣的字串串列:
var rawData = new List<string>(){ "EUR/USD;123" , "EUR/GBP;321", "BTC/USD;2321"};
我有以下結構:
public class Data
{
public string instrument { get; set; }
public string positions { get; set; }
}
我的目標是有一個字串資料串列,在';'上拆分 char 并轉換為物件串列。
var processedData = new List<Data>();
// processedData[0] ( instrument = EUR/USD, positions = 123 )
// processedData[1] ( instrument = EUR/GBP, positions = 321)
// processedData[2] ( instrument = BTC/USD, positions = 2321)
你知道我該怎么做嗎?
uj5u.com熱心網友回復:
您可以嘗試Linq和查詢 rawData:
var processedData = rawData
.Select(item => item.Split(';'))
.Select(items => new Data() {
instrument = items[0],
positions = items[1]
})
.ToList();
uj5u.com熱心網友回復:
foreach(var rawString in rawData){
var split = rawString.Split(";");
processedData.Add(new Data(){
instruments = split[0],
positions = split[1]
});
}
uj5u.com熱心網友回復:
您可以在下面嘗試此代碼
private static void TestFunc()
{
var rawData = new List<string>() { "EUR/USD;123", "EUR/GBP;321", "BTC/USD;2321" };
var processedData = new List<Data1>();
foreach (var item in rawData)
{
var ins = item.Split(";")[0];
var pos = item.Split(";")[1];
processedData.Add(new Data1(ins, pos));
}
}
uj5u.com熱心網友回復:
你可以使用 linq
void Main()
{
var rawData = new List<string>() { "EUR/USD;123", "EUR/GBP;321", "BTC/USD;2321" };
rawData.Select(s =>
new Data() {instrument= s.Split(";")[0],positions = (s.Split(";").Count() > 1) ? s.Split(";")[1] : null})
.ToList().Dump();
}
public class Data
{
public string instrument { get; set; }
public string positions { get; set; }
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/463215.html
上一篇:C#父/子資料庫資料串列系結到類
下一篇:c#中字串陣列的最大值和最小值
