本文整理汇总了C#中System.Linq.Single方法的典型用法代码示例。如果您正苦于以下问题:C# System.Linq.Single方法的具体用法?C# System.Linq.Single怎么用?C# System.Linq.Single使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Linq
的用法示例。
在下文中一共展示了System.Linq.Single方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute()
{
var languages = new[] {"csharp", "visualbasic", "java", "python", "ruby", "php", "c++"};
//
// First拡張メソッドは、シーケンスの最初の要素を返すメソッド。
//
// predicateを指定した場合は、その条件に合致する最初の要素が返る。
//
Output.WriteLine("============ First ============");
Output.WriteLine(languages.First());
Output.WriteLine(languages.First(item => item.StartsWith("v")));
//
// Last拡張メソッドは、シーケンスの最後の要素を返すメソッド。
//
// predicateを指定した場合は、その条件に合致する最後の要素が返る。
//
Output.WriteLine("============ Last ============");
Output.WriteLine(languages.Last());
Output.WriteLine(languages.Last(item => item.StartsWith("p")));
//
// Single拡張メソッドは、シーケンスの唯一の要素を返すメソッド。
//
// Singleを利用する場合、対象となるシーケンスには要素が一つだけ
// でないといけない。複数の要素が存在する場合例外が発生する。
//
// また、空のシーケンスに対してSingleを呼ぶと例外が発生する。
//
// predicateを指定した場合は、その条件に合致するシーケンスの唯一の
// 要素が返される。この場合も、結果のシーケンスには要素が一つだけの
// 状態である必要がある。条件に合致する要素が複数であると例外が発生する、
//
Output.WriteLine("============ Single ============");
var onlyOne = new[] {"csharp"};
Output.WriteLine(onlyOne.Single());
try
{
// ReSharper disable once UnusedVariable
var val = languages.Single();
}
catch
{
Output.WriteLine("複数の要素が存在する状態でSingleを呼ぶと例外が発生する。");
}
Output.WriteLine(languages.Single(item => item.EndsWith("y")));
try
{
// ReSharper disable once UnusedVariable
var val = languages.Single(item => item.StartsWith("p"));
}
catch
{
Output.WriteLine("条件に合致する要素が複数存在する場合例外が発生する。");
}
}
示例2: ProjectingEnumToString
public void ProjectingEnumToString()
{
var customers = new[] { new Customer() { FirstName = "Bill", LastName = "White", CustomerType = CustomerType.Vip } }.AsQueryable();
var projected = customers.Project().To<CustomerDto>();
projected.ShouldNotBeNull();
Assert.Equal(customers.Single().CustomerType.ToString().ToUpper(), projected.Single().CustomerType);
}
示例3: Calculate
// Maximum Fitness = Win + N * (50 + H) + N * 50
public double Calculate(string playerName, BattleResult result)
{
var score = 0.0;
var players = new[] { result.Winner, result.Loser };
var playerState = players.Single(p => p.Name == playerName);
var opponentState = players.Single(p => p.Name != playerName);
if (result.Winner == playerState)
{
score += 200;
}
score += playerState.AllNeuromon.Where(n => !n.IsDead).Sum(n => 50.0 + n.Health);
score += opponentState.AllNeuromon.Where(n => n.IsDead).Sum(n => 50.0);
score -= opponentState.AllNeuromon.Where(n => !n.IsDead).Sum(n => n.Health);
return score >= 0.0 ? score : 0.0;
}
示例4: FromText
public static CommandType FromText(string text)
{
var validTypes = new[] { Status, Supports, Sid, Information, Message, Search, Result, ConnectToMe, ReversedConnectToMe, GetPassword, Password, Quit, Get, GetFileInformation, Send };
return validTypes.Single(validType => validType.Name == text);
}