Home > Back-end >  Convert List<string> to List<object> in C#
Convert List<string> to List<object> in C#

Time:04-18

I have a list of string that looks something like this:

var rawData = new List<string>(){ "EUR/USD;123" , "EUR/GBP;321", "BTC/USD;2321"};

I have the following structure:

public class Data
{
    public string instrument { get; set; }
    public string positions { get; set; }
}

My goal is to have a list of the string data, splited on the ';' char and converted to a list of objects.

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)

Do you have any idea how can I do this ?

CodePudding user response:

You can try Linq and query rawData:

var processedData = rawData
  .Select(item => item.Split(';'))
  .Select(items => new Data() {
     instrument = items[0],
     positions  = items[1]
   })
  .ToList(); 

CodePudding user response:

foreach(var rawString in rawData){
  var split = rawString.Split(";");

  processedData.Add(new Data(){ 
    instruments = split[0],
    positions = split[1]
  });
}

CodePudding user response:

You can try this code below

        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));
        }
    }
  • Related