在C#中调用LINQ的方法

时间:2018-02-18 01:40:32

标签: c# linq methods

您好,这是我的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;

**这低于Main **

 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的链接,我也发布了它没有崩溃的唯一版本。

我现在也在一个班级里拥有这一切。我确实试过使用两个班级,但这对我没有任何帮助。

如果有人能够向我推进正确的方向我会很感激,因为我没有想法。

提前感谢您的时间

2 个答案:

答案 0 :(得分:0)

只需改变一下:

Graft2

对此:

2

另外,即使可以,也不需要在这种情况下使用2子句。所以你的整个查询可以变成:

let value = values.ToUpper()

答案 1 :(得分:0)

这是方法语法,在这种情况下更简单。

var cappedWords = PersonInfoS.Select(UppercaseWords);

此外,您应该使用UppercaseWords方法。我的建议是首先拆分字符串,如下所示:value.Split(' ')所以你有一个单词的数组。然后你可以迭代这些单词,得到第一个字符,ToUpper它们,以及它们之后Join(' ')