-
January 30th, 2021, 07:28 PM
#1
Convert Object Properties to Array
.NET4.8.04084 - VS 2019
Code:
public class myObj
{
public string ob1 { get; set; }
public string ob2 { get; set; }
}
List<myObj> objlist = new List<myObj>();
objlist.Add(new myObj
{
ob1 = "A",
ob2 = "1"
});
objlist.Add(new myObj
{
ob1 = "B",
ob2 = "2"
});
List<string[]> converted = MyConvert(objlist);
public static List<string[]> MyConvert(List<objlist> mobj)
{
foreach (objlist item in mobj)
{
string[] arr = ((IEnumerable)item).Cast<objlist>()
.Select(x => x.ToString())
.ToArray();
}
}
I've been trying to convert the object objlist to a List of string array. I've searched the net and found IEnumerable might help, but I got stopped by an error when I run the program...
System.InvalidCastException
HResult=0x80004002
Message=Unable to cast object of type 'objlist' to type 'System.Collections.IEnumerable'.
-
January 31st, 2021, 04:38 PM
#2
Re: Convert Object Properties to Array
Code:
public class MyObj
{
public string Obj1 { get; set; }
public string Obj2 { get; set; }
}
class Program
{
static void Main(string[] args)
{
var objList = new List<MyObj>
{
{ new MyObj { Obj1 = "A", Obj2 = "1" } },
{ new MyObj { Obj1 = "B", Obj2 = "2" } }
};
var index = 1;
foreach(var obj in MyConvert(objList))
{
Console.WriteLine($"Obj: {index++}");
foreach(var s in obj)
{
Console.WriteLine($" {s}");
}
}
}
static List<string[]> MyConvert(List<MyObj> list)
{
var retList = new List<string[]>();
foreach(var obj in list)
{
retList.Add(new string[] { obj.Obj1, obj.Obj2 } );
}
return retList;
}
Outputs:
Code:
Obj: 1
A
1
Obj: 2
B
2
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|