因为 String 类实现泛型 IEnumerable<T> 接口,所以可以将任何字符串作为字符序列进行查询。 但是,这不是 LINQ 的常见用法。 若要执行复杂的模式匹配操作,请使用 Regex 类。
示例
下面的示例查询一个字符串以确定它包含的数字的数目。 请注意,在首次执行此查询后将“重新使用”此查询。 这之所以可行是因为查询本身不存储任何实际结果。
Class QueryAString
    Shared Sub Main()
        ' A string is an IEnumerable data source.
        Dim aString As String = "ABCDE99F-J74-12-89A"
        ' Select only those characters that are numbers
        Dim stringQuery = From ch In aString 
                          Where Char.IsDigit(ch) 
                          Select ch
        ' Execute the query
        For Each c As Char In stringQuery
            Console.Write(c & " ")
        Next
        ' Call the Count method on the existing query.
        Dim count As Integer = stringQuery.Count()
        Console.WriteLine(System.Environment.NewLine & "Count = " & count)
        ' Select all characters before the first '-'
        Dim stringQuery2 = aString.TakeWhile(Function(c) c <> "-")
        ' Execute the second query
        For Each ch In stringQuery2
            Console.Write(ch)
        Next
        Console.WriteLine(System.Environment.NewLine & "Press any key to exit")
        Console.ReadKey()
    End Sub
End Class
' Output:
' 9 9 7 4 1 2 8 9 
' Count = 8
' ABCDE99F
class QueryAString
{
    static void Main()
    {
        string aString = "ABCDE99F-J74-12-89A";
        // Select only those characters that are numbers
        IEnumerable<char> stringQuery =
          from ch in aString
          where Char.IsDigit(ch)
          select ch;
        // Execute the query
        foreach (char c in stringQuery)
            Console.Write(c + " ");
        // Call the Count method on the existing query.
        int count = stringQuery.Count();
        Console.WriteLine("Count = {0}", count);
        // Select all characters before the first '-'
        IEnumerable<char> stringQuery2 = aString.TakeWhile(c => c != '-');
        // Execute the second query
        foreach (char c in stringQuery2)
            Console.Write(c);
        Console.WriteLine(System.Environment.NewLine + "Press any key to exit");
        Console.ReadKey();
    }
}
/* Output:
  Output: 9 9 7 4 1 2 8 9
  Count = 8
  ABCDE99F
*/
编译代码
- 创建一个面向 .NET Framework 3.5 版的 Visual Studio 项目。 默认情况下,该项目具有对 System.Core.dll 的引用以及针对 System.Linq 命名空间的 using 指令 (C#) 或 Imports 语句 (Visual Basic)。 在 C# 项目中,添加 System.IO 命名空间的 using 指令。 
- 将此代码复制到您的项目。 
- 按 F5 编译并运行程序。 
- 按任意键退出控制台窗口。