簡體   English   中英

在C#中對LINQ的調用方法

[英]Call Method to LINQ in C#

您好,這是我的C#作業

我正在嘗試編寫一個程序,它將用戶輸入的數據用於IE的名字,姓氏等幾件事。將其放入列表中,然后將每個單詞的首字母大寫。

我已經搜尋了兩天,試圖找出答案,但是沒有運氣。 我有要轉到列表的數據,可以顯示它沒有問題,但是在弄清楚如何在LINQ語句中調用該方法時遇到了問題。

我必須在程序中使用UppercaseWords方法。 我無法獲得的是如何在LINQ中調用它

**這是我的主要方法***

// convert first letter of each word to uppercase var MakeCap = from values in PersonInfoS let value = values.ToUpper() select value;

**這低於主要**

 public static string UppercaseWords(string Value)
    {


        char[] array = Value.ToCharArray();

        if (array.Length >= 1)
        {
            if (char.IsLower(array[0]))
            {
                array[0] = char.ToUpper(array[0]);
            }
        }

        for (int i = 1; i < array.Length; i++)
        {
            if (array[i - 1] == ' ')
            {
                if (char.IsLower(array[i]))
                {
                    array[i] = char.ToUpper(array[i]);
                }
            }
        }


        return new string(array);
    } //   end UppercaseWords

我嘗試了很多不同的方法使其正常工作。 我發布了唯一一個不會崩潰的版本,即使其中沒​​有指向UppercaseWords的鏈接。

我現在也都在一堂課上了。 我確實嘗試過使用兩個類,但這對我沒有任何幫助。

如果有人能朝正確的方向推動我,我將不勝感激,因為我沒有主意。

預先感謝您的時間

只需更改此:

let value = values.ToUpper()

對此:

let value = UppercaseWords(values)

順便說一句,即使可以,在這種情況下也不需要使用let子句。 這樣您的整個查詢可以變成:

var makeCap = from values in PersonInfoS       
              select UppercaseWords(values);

這種方法的語法在這種情況下更簡單。

var cappedWords = PersonInfoS.Select(UppercaseWords);

另外,您應該使用該UppercaseWords方法。 我的建議是先像這樣分割字符串: value.Split(' ')這樣就可以得到一個單詞數組。 然后,您可以遍歷這些單詞,獲取第一個字符, ToUpper ,然后在所有內容都Join(' ')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM