0

私は次のように私の記録を持っています

mazhar-kaunain-baig-5
mazhar-kaunain-baig-5-6
mazhar-kaunain-baig

これは私の質問です

ptype = _pagecontext.PagesRefs
                    .Where(m => m.nvcr_Slug.Contains(str+ "-") && m.bit_Active == true)
                    .ToList();

正しい結果:

 1) str=mazhar-kaunain-baig

持ち帰る

mazhar-kaunain-baig-5
mazhar-kaunain-baig-5-6   

 2) str=mazhar-kaunain  

何も戻さない

 3) str=mazhar 

何も戻さない

このシナリオでは、containsとequalsは無効になります。パターンが完全に一致している場合、どうすれば次の結果を得ることができますか。

4

3 に答える 3

1

取り出し+"-"ますか?

sRefs.Where(m => m.nvcr_Slug.Contains(str) && m.bit_Active == true).ToList();

于 2012-05-23T12:26:49.220 に答える
0

StartsWith代わりに使ってみませんか?

この文字列インスタンスの先頭が指定された文字列と一致するかどうかを判別します。

.Where(m => m.nvcr_Slug.StartsWith(str) && m.bit_Active == true).ToList();

詳細情報:

http://msdn.microsoft.com/en-us/library/baketfxw.aspx

于 2012-05-23T12:31:40.243 に答える
0

これにより、状況1、2、および3で言及した正確な結果が返されます。

var result = from d in data
             let remainingString = d.Slug.Remove(0, Math.Min(text.Length + 1, d.Slug.Length))
             where remainingString.Length > 0 && Char.IsDigit(remainingString[0])
             select d;
于 2012-05-23T12:43:40.073 に答える