0

「00000044」の形式にすることができるプロパティ文字列を持つモデルがあるので、リストを照会していると仮定します

public class Foo
{
     private string MemberNo { get; set; }
}

Entity Framework から入力され、

セットには以下が含まれます。

"00000044" include this
"44000000" include this
"20440000" exclude this

検索基準「44」の左側にゼロ以外の数字があるものを除外するクエリの書き方

Regex と linq を組み合わせることは可能ですか、それともよりスマートな方法はありますか?

4

2 に答える 2

6
var filteredFoos = myFoos
    .Where(foo => foo.MemberNo.TrimStart('0').StartsWith("44"));

これは、すべてを元に戻したいFoos場合ですが、Entity Frameworkを使用したい場合は、この回答を見て正しく翻訳してください。

于 2012-05-29T03:15:30.393 に答える
1
var result = fooList.Where(foo => Regex.IsMatch(foo.MemberNo, @"^0*44\d*$"));

また、MemberNoプロパティを公開する必要があります。

編集

または、正規表現のないバージョン:

var result = fooList.Where(foo => foo.MemberNo.TrimStart('0').StartsWith("44"));
于 2012-05-29T03:13:31.917 に答える