0

3列のデータテーブルがあります:

Name                     age               profession 

John|James|Billy        25|31|28           professor 

3行にするために、この行を分割したい:

Name                     age               profession 

John                     25                professor
James                    31                professor
Billy                    28                professor
4

2 に答える 2

1

データテーブル/データセットではなくPOCOが必要であると仮定すると、ニーズを満たすことができる不十分に書かれたコードがいくつかあります。

public class Teacher
{
    public string Name { get; set; }
    public string Age { get; set; }
    public string Profession { get; set; }

    public static IEnumerable<Teacher> YieldFromCSV(string nameData, string ageData, string professionData)
    {
        // you really want to include error checking here
        var names = nameData.Split('|');
        var ages = ageData.Split('|');
        var professions = professionData.Split('|');

        for (var i = 0; i < names.Length; i++)
        {
            yield return new Teacher
                {
                    Name = names[i],
                    Age = ages.ElementAtOrDefault(i),
                    Profession = professions.ElementAtOrDefault(i) ?? professions.ElementAtOrDefault(0)
                };
        }
    }
}
于 2013-07-15T13:56:03.107 に答える