0

これは私のコードです:

string _type="System.Collections.Generic.List<PhilpostDB.ViewModel.Person>";
_type = Regex.Replace(_type, @"[.\w]+\.(\w+)", "$1"); // this result=List<Person>

結果が欲しい: _type=PhilpostDB.ViewModel.Person

4

2 に答える 2

1

文字列メソッドのみで動作するはずです:

string _type = "System.Collections.Generic.List<PhilpostDB.ViewModel.Person>";
string[] tokens = _type.Split('<');
string result = tokens[0].Split('.').Last();
if (tokens.Length > 1)
{
    string token2 = tokens.Last().Split('.').Last();
    result = string.Format("{0}<{1}", result, token2);
}

Demo

ティムに感謝しますが、result=PhilpostDB.ViewModel.Person が必要な場合は編集しますか?

string genericType = _type.Split('<').Last().TrimEnd('>');
于 2013-08-29T10:01:04.973 に答える