本文整理汇总了C#中IReadOnlyList.OrderBy方法的典型用法代码示例。如果您正苦于以下问题:C# IReadOnlyList.OrderBy方法的具体用法?C# IReadOnlyList.OrderBy怎么用?C# IReadOnlyList.OrderBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IReadOnlyList
的用法示例。
在下文中一共展示了IReadOnlyList.OrderBy方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public IEnumerable<IDocument> Execute(IReadOnlyList<IDocument> inputs, IExecutionContext context)
{
var orderdList = _descending
? inputs.OrderByDescending(x => _key(x, context))
: inputs.OrderBy(x => _key(x, context));
foreach (var thenBy in _thenByList)
{
orderdList = thenBy.Descending
? orderdList.ThenByDescending(x => thenBy.Key(x, context))
: orderdList.ThenBy(x => thenBy.Key(x, context));
}
return orderdList;
}
示例2: Of
public static string Of(IReadOnlyList<string> strings)
{
var sorted = strings.OrderBy(s => s.Length).ToArray();
var check = sorted.First();
while (check.Length > 0)
{
if (sorted.All(s => s.StartsWith(check, StringComparison.InvariantCulture)))
{
return check;
}
check = check.Substring(0, check.Length - 1);
}
return check;
}
示例3: ExportCollada_Mesh
private void ExportCollada_Mesh(XmlWriter xml, string name, IReadOnlyList<Kn5Node> unsorted) {
xml.WriteStartElement("geometry");
xml.WriteAttributeStringSafe("id", $"{name}-mesh");
xml.WriteAttributeStringSafe("name", name);
xml.WriteStartElement("mesh");
var nodes = unsorted.Count == 1 ? unsorted :
unsorted.OrderBy(x => int.Parse(x.Name.Split(new[] { "_SUB" }, StringSplitOptions.None).Last())).ToList();
/* coordinates */
var vertexCount = nodes.Sum(x => x.Vertices.Length);
xml.WriteStartElement("source");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-positions");
xml.WriteStartElement("float_array");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-positions-array");
xml.WriteAttributeString("count", vertexCount * 3);
xml.WriteString(nodes.SelectMany(x => x.Vertices).SelectMany(x => x.Co).JoinToString(" "));
xml.WriteEndElement(); // float_array
xml.WriteStartElement("technique_common");
xml.WriteStartElement("accessor");
xml.WriteAttributeStringSafe("source", $"#{name}-mesh-positions-array");
xml.WriteAttributeString("count", vertexCount);
xml.WriteAttributeString("stride", 3);
xml.WriteElement("param",
"name", "X",
"type", "float");
xml.WriteElement("param",
"name", "Y",
"type", "float");
xml.WriteElement("param",
"name", "Z",
"type", "float");
xml.WriteEndElement(); // accessor
xml.WriteEndElement(); // technique_common
xml.WriteEndElement(); // source
/* normals */
xml.WriteStartElement("source");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-normals");
xml.WriteStartElement("float_array");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-normals-array");
xml.WriteAttributeString("count", vertexCount * 3);
xml.WriteString(nodes.SelectMany(x => x.Vertices).SelectMany(x => x.Normal).JoinToString(" "));
xml.WriteEndElement(); // float_array
xml.WriteStartElement("technique_common");
xml.WriteStartElement("accessor");
xml.WriteAttributeStringSafe("source", $"#{name}-mesh-normals-array");
xml.WriteAttributeString("count", vertexCount);
xml.WriteAttributeString("stride", "3");
xml.WriteElement("param",
"name", "X",
"type", "float");
xml.WriteElement("param",
"name", "Y",
"type", "float");
xml.WriteElement("param",
"name", "Z",
"type", "float");
xml.WriteEndElement(); // accessor
xml.WriteEndElement(); // technique_common
xml.WriteEndElement(); // source
/* uv */
xml.WriteStartElement("source");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-map-0");
xml.WriteStartElement("float_array");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-map-0-array");
xml.WriteAttributeString("count", vertexCount * 2);
xml.WriteString(nodes.SelectMany(x => x.Vertices).SelectMany(x => new[] { x.Uv[0], -x.Uv[1] }).JoinToString(" "));
xml.WriteEndElement(); // float_array
xml.WriteStartElement("technique_common");
xml.WriteStartElement("accessor");
xml.WriteAttributeStringSafe("source", $"#{name}-mesh-map-0-array");
xml.WriteAttributeString("count", vertexCount);
xml.WriteAttributeString("stride", 2);
xml.WriteElement("param",
"name", "S",
"type", "float");
xml.WriteElement("param",
"name", "T",
"type", "float");
xml.WriteEndElement(); // accessor
xml.WriteEndElement(); // technique_common
xml.WriteEndElement(); // source
/* vertices */
xml.WriteStartElement("vertices");
xml.WriteAttributeStringSafe("id", $"{name}-mesh-vertices");
xml.WriteElement("input",
"semantic", "POSITION",
//.........这里部分代码省略.........
示例4: Save
public static void Save(string fileName, IReadOnlyList<Bookmark> bookmarks)
{
if (!bookmarks.Any())
{
File.Delete(fileName);
return;
}
var bookmarksFile = new BookmarksFile { Bookmarks = bookmarks.OrderBy(x => x.Time).ToList() };
using (var stream = new FileStream(fileName, FileMode.Create))
{
Serializer.Serialize(stream, bookmarksFile);
}
}
示例5: Execute
public IEnumerable<IDocument> Execute(IReadOnlyList<IDocument> inputs, IExecutionContext context)
{
return _descending
? inputs.OrderByDescending(x => _key(x, context))
: inputs.OrderBy(x => _key(x, context));
}