📅  最后修改于: 2021-01-06 05:18:58             🧑  作者: Mango
在LINQ中,只要指定条件包含表达式,就可以使用TakeWhile运算符从数据源的列表/集合中获取元素。
使用LINQ TakeWhile运算符的语法是根据指定条件从列表中获取元素。
C#代码
IEnumerable result = countries.TakeWhile(x => x.StartsWith("U"));
从以上语法中,我们从元素以“ U ”开头的列表中获取元素。
这是在方法语法中使用LINQ TakeWhile从列表/集合中获取元素的示例。
C#代码
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//Array countries is created of string type.
string[] countries = { "US", "UK", "Russia", "China", "Australia", "Argentina" };
/*TakeWhile operator is used which will print
the values until the specified condition is satisfied.*/
IEnumerable result = countries.TakeWhile(x => x.StartsWith("U"));
//foreach loop will print the value of the result
foreach (string s in result)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}
}
在上面的示例中,我们使用了TakeWhile()运算符和一个lambda表达式,其中指定了条件,该条件将选择以“ U ”开头的国家。因此,它仅返回前两个元素。
输出:
这是在查询语法中使用LINQ TakeWhile运算符以从列表中获取元素的示例。
using System;
using System. Collections;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string[] countries = { "US", "UK", "China", "Russia", "Argentina", "India" };
//apply the query syntax to print the values upto the specified condition.StartWith("U").
IEnumerable result = (from x in countries select x).TakeWhile(x => x.StartsWith("U"));
foreach (string s in result)
{
Console.WriteLine(s);
}
Console.ReadLine();
}
}
}
输出:
执行完上面的程序后,我们得到如下所示的输出: