- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个二维的“NameValuePair”列表,到目前为止我一直在尝试订购但没有成功。
NameValuePair 定义为:
public class NameValuePair
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Value { get; set; }
}
列表定义为:
List<List<NameValuePair>> outerList = new List<List<NameValuePair>>();
外部列表中的每个列表在不同的索引处可能有不同数量的项目,但每个列表肯定都有一个“日期”项目。
例如
List<List<NameValuePair>> outerList = new List<List<NameValuePair>>();
List<NameValuePair> innerList = new List<NameValuePair>();
List<NameValuePair> innerList2 = new List<NameValuePair>();
innerList.Add(new NameValuePair { Name = "List1Item1", Value = "someValue" });
innerList.Add(new NameValuePair { Name = "List1Item2", Value = "otherValue" });
innerList.Add(new NameValuePair { Name = "List1ItemN", Value = "anotherValue" });
innerList.Add(new NameValuePair { Name = "Date", Value = "aDateInStringFormat" });
innerList2.Add(new NameValuePair { Name = "List2Item1", Value = "myValue" });
innerList2.Add(new NameValuePair { Name = "Date", Value = "anotherDateInStringFormat" });
innerList2.Add(new NameValuePair { Name = "List2ItemM", Value = "bestValue" });
outerList.Add(innerList);
outerList.Add(innerList2);
我尝试使用 outerList.Sort();
和 outerList.OrderByDescending(x => x.Where(y => y.Name == "Date")) 进行排序。 ToList();
到目前为止运气不好。
我还尝试通过重载 CompareTo()
将 IComparable
实现到我的 NameValuePair 类型,但也无法使其正常工作。
我们非常欢迎任何建议。
最佳答案
假设每个内部列表只有一个名称为 Date
和格式正确的日期 Value
的项目:
var sorted = outerList.OrderBy(x => DateTime.Parse(x.Single(y => y.Name == "Date").Value))
.ToList();
Linq
查询采用 NameValuePair
和 Name
“Date”,将 Value
转换为 DateTime
对象并按此值对外部列表进行排序。
无论如何,您应该考虑创建一个具有 DateTime
属性的类。
关于c# - 排序列表<List<MyType>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35287876/
我在为自定义类型的 ObservableCollection 创建扩展方法时遇到问题。我需要创建的扩展方法是“ToAnotherType”类型(如 ToList、ToArray)。 MyPoint 示
所以基本上我有这个方法。 public List FilterCustomersByStatus(List source, string status) { return (List)sour
我在 Clojure 中使用 deftype 时遇到了问题。如果我运行以下代码: (defprotocol TestProt (geta [this]) (getb [this])) (def
给定以下类: public class MyType { public static implicit operator MyType(Func wrapper) { retu
我定义了一个简单的代数(具体)数据类型,MyType: data MyTpe = MyBool Bool | MyInt Int ...我正在尝试找到一种方法将任意函数(a->b)“转换”为关联的(M
我有一个在运行时动态创建新类型的应用程序,创建该类型的对象并将它们插入 object 类型的 MongoDB 数据库集合中。使用 shell 我可以看到对象被正确插入并且 _t 值是动态创建的类的正确
与仅使用 List(Of MyType) 相比,使用 ConcurrentBag(Of MyType) 有什么优势? The MSDN page on the CB指出 ConcurrentBag(O
我想通过使用map一对一地从异步函数中加载多个描述: Future> loadDescriptions(List questions) async { Iterable> iterable
我想在线程之间传递一些信息。原子听起来像是要使用的东西。我看了一下this 。并发现一个简单的结构,例如 struct MyType{ int val_a,val_b; float vals_
我得到的具体异常是: Unable to cast object of type NbtByte to type INbtTag 在这一行: tag = (INbtTag)new NbtByte(st
是的,我已经完成了标题相似的问题。它们似乎都不符合我所处的情况。这只是程序员向 View 发送了错误的对象类型。 这是我收到的确切错误消息: The model item passed into th
这是一个玩具示例: #[derive(Debug)] struct Int { v: i32, } #[derive(Debug)] struct Double { v: f64, }
在我没有编写但必须使用的代码中,使用 OpenCV(但它可以是任何东西)我遇到了类似的东西: void foo (long addrImage){ [...] Mat& image = *(M
我有一个自定义列表 MyList,它是 List 的扩展,并且我有一个我想执行的 IEnumerable(或 IQueryable).ToList( ) 上,但我猜,.ToMyList()。 如何实现
[Test] public void testMultiplication() { var five=new Dollar(5); Assert.AreEqual(new Dollar
假设我有一个类 MyType: sealed class MyType { static Type typeReference = typeof(MyType); //... } 给定
我有一个如下所示的 ArrayList: final List myList = new ArrayList<>(); MyType 看起来像这样: public class MyType {
我正在使用来自不同模块的类型,我们将其称为 OtherModule.MyType, 这段代码: var a = [OtherModule.MyType]() 将产生错误无效使用“()”来调用非函数类型
我在下面列出了一个相当人为的例子,来 self 正在研究的更大的东西。我遇到了我认为是关于使用 Any 类型的 Swift 编译器错误。 struct Labelable { let t: T
我正在使用 Dictionary在一个类(class)。该类实现了一个需要 IList 的接口(interface)被退回。有没有一种简单的方法可以将一个转换为另一个(无需复制整个内容)? 我目前的解
我是一名优秀的程序员,十分优秀!