3

automapper を使用して、スペースで区切られた文字列を List に変換するにはどうすればよいですか?

データ:

foo1 foo2 foo3 foo4

クラス:

public class myFooList
{
   public int myId;
   public List<string> myListOfStrings;
}

オートマッパーのデフォルトの使用。

Mapper.CreateMap<data,myFooList>()        
    .ForMember(d=>d.mListOfStrings, s=>s.MapFrom(s=>s.Data));

1 文字につき 1 行の形式でデータを取得します。

元:

f
o
o
1

f
o
o
2

など..など.

4

2 に答える 2

2

文字列を分割してリストを作成するのはとても簡単です:

var text = "foo1 foo2 foo3 foo4";
var delimiters = new char [] {' '};

var myListOfStrings = text.Split(delimiters).ToList();

私は AutoMapper を必要としたことがないので、ここから作業することをお勧めします...

于 2013-09-24T16:24:16.450 に答える
2

Mapper.CreateMap<data,myFooList>()
.ForMember(d=>d.mListOfStrings, s=>s.MapFrom(s=>s.Data.Split()));

オートマッパーは合理的な仮定を行い、文字列を文字ごとに列挙しているようです。スプリットについて明確にしてください。

nvoigt の提案も正しいです。本当に automapper を使用しますか?

于 2013-09-24T16:31:03.410 に答える