[英]convert string data array to list
i have an string data array which contains data like this 我有一个包含这样的数据的字符串数据数组
5~kiran
2~ram
1~arun
6~rohan
now a method returns an value like string [] data 现在一个方法返回一个值,例如字符串[]数据
public string [] names()
{
return data.Toarray()
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
List<Person> persons = new List<Person>();
string [] names = names();
now i need to copy all the data from an string array to an list and finally bind to grid view 现在我需要将所有数据从字符串数组复制到列表,最后绑定到网格视图
gridview.datasoutrce= persons
how can i do it. 我该怎么做。 is there any built in method to do it
有没有内置的方法来做到这一点
thanks in advance 提前致谢
prince 王子
Something like this: 像这样:
var persons = (from n in names()
let s = n.split('~')
select new Person { Name=s[1], Age=int.Parse(s[0]) }
).ToList();
var persons = names.Select(n => n.Split('~'))
.Select(a => new Person { Age=int.Parse(a[0]), Name=a[1] })
.ToList();
Assuming that the source data are completely valid (ie no negative ages, names do not contain '~', every line has both age and name, and so on), here's a very easy implementation: 假设源数据是完全有效的(即没有负数年龄,名称不包含“〜”,每一行都具有年龄和名称,依此类推),这是一个非常简单的实现:
List<Person> persons = new List<Person>;
foreach (var s in names()) {
var split = s.Split('~');
int age = int.Parse (split[0]);
string name = split[1];
var p = new Person() { Age = age, Name = name };
persons.Add (p);
}
You can also use a Linq query, which is shorter. 您还可以使用较短的Linq查询。 See Marcelo's Answer for an example.
有关示例,请参见Marcelo的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.