0

string1:お
元気ですかstring2:お元気ですか?

私がやりたいのは、string2をstring1と照合し、「How」、「Are」、または「you」のいずれかを持つレコードを選択することにより、データベースからすべてのレコードを選択することです。

 pager1.ItemCount = appliedQuery.Where(q => q.string1.Contains(string2)).count();

注:String1は1つの単語であり、string2に任意の単語が出現した場合に、db内のすべてのレコードを取得したいだけです。

string2を分割する必要があることは理解していますが、分割後、linqクエリステートメントでstring2を使用してレコードをフェッチするにはどうすればよいですか?

前もって感謝します

4

3 に答える 3

2

string2文字列の配列に分割:

string[] words = string2.Split(' ');

次にstring1、配列内のいずれかの項目にあるかどうかを確認します。

pager1.ItemCount = appliedQuery.Where(q => words.Contains(q.string1)).Count();
于 2012-07-25T07:26:10.403 に答える
1

考えられる解決策の1つは、次のとおりです。

foreach(string s in string2.Split(' '))
{
    pager1.ItemCount += appliedQuery.Where(q => q.string1.Contains(s)).count(); 
}
于 2012-07-25T07:19:44.563 に答える
1

linqクエリを作成した方法を確認してください。これがお役に立てば幸いです。コードをコピーしてコンソールアプリに貼り付けるだけで、結果を確認できます。

class Program
{
    static void Main(string[] args)
    {
        // List of strings that you may consider it from your 
        /// database which is String1
        List<string> lstStrings = new List<string>();
        lstStrings.Add("twenty one");
        lstStrings.Add("twenty two");
        lstStrings.Add("twenty three");
        lstStrings.Add("twenty four");

        // The string to compare to which is your String2
        string strString = "one two four";

        // Splitting the strings to be compared
        string[] strArray = strString.Split(' '); 

        // The linq that helps you query the data exactly as what you wanted
        var result = (from string A in lstStrings
                               from string B in strArray
                               where A.Contains(B)
                               select A).Distinct();

        // Count result
        Console.WriteLine(result.Count());

        // Individual values
        foreach (string str in result)
        {
            Console.WriteLine(str);
        }

        Console.ReadLine();
    } 
}
于 2012-07-26T04:27:01.337 に答える