考虑以下目标:
class Menu{
public int Section {get; set;}
public string Parent {get; set;}
public string Name {get; set;}
public string Url {get; set;}
/* more */
}
我正在获取这些对象的列表,我希望将它们按节分组,然后在每个部分中按父类对它们进行分组,所以我使用了以下结构:
ILookup<int, ILookup<string, Menu>> MenuStructure =
假设两个列表A和B
Dim A as New List(Of String) ( {"011", "011", "012", "001"})
Dim B as New List(Of String) ( {"011", "012", "111"});
我想得到A到B的区别,在这个例子中是这样的:[ "011", "001" ]
列表A和B都可能包含重复的条目。如果列表A包含重复元素e,而列表B的值e仅为A的一次//少次,则结果列表应该包含(times
我试图使用以下代码将IEnumerable<KeyValuePair<string, object>>转换为ILookup<string, object>:
var list = new List<KeyValuePair<string, object>>()
{
new KeyValuePair<string, object>("London", null),
new KeyValuePair<string, object>("London", null),
public class User
{
public string name { get; set; }
public string login { get; set; }
public string company { get; set; }
}
如何将List<User>转换为ToDictionary<string, List<string>>其中的键:company值:名称。
我试着这么做
List<User> users = context.getallUsers();
var usersByCompany =
如何对ILookup的键进行排序,就像C#中给定列表中的值一样?
我找到了这两个链接,但不知道怎么做。
static void Main()
{
// list with category ids (order is given by internal logic)
List<long> sortedList = new List<long> { 533, 321, 752, 251, 985 };
// create the lookup with CategoryId as
我有一个名为Meeting的数据容器 public struct Meeting
{
public string Id { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
} 这非常简单。它有一个Id和两个日期时间,分别标记会议开始的时间和会议结束的日期时间。 我需要返回一个Lookup,它为每一天映射当天安排的所有会议。我已经实现了这个IEnumerable扩展: public static IEnumerable<ILookup<D,
我有一些类似的数据,因为嵌套的对象很难在redux中设置状态,所以我想将它转换为id作为key.So的对象,我可以很容易地更改状态。我做了一整天的搜索,但没有找到办法
// here is the source data
// every object has an id property
// outer object has 2 or 3 levels: continents -> countries || continents -> countires -> regions
const source = [
{
id: 2,
我相信标题不会有太大帮助,我会在这里解释得更好…希望你能帮我。 我上过这门课 public class ItemValue
{
public string SetId {get; set;}
public string ItemId {get; set;}
public string Value {get; set;}
} 我有一个这个类的对象集合,如下所示 IEnumerable<ItemValue> = new List<ItemValue>()
{
new ItemValue
{
SetId = "
我想知道groupBy和ToLookup扩展方法之间有什么区别。
让我们有这样一个对象的列表:
public class Person
{
public uint Id { get; set; }
public string Name { get; set; }
public DateTime Birthday { get; set; }
}
List<Person> People { get; set; }
现在我可以使用上面的扩展方法:
var groupedPeople = People.GroupBy((x) => x.Id);
var
我有以下Linq查询:
List<MonthlySales> monthlySales = (from sale in Sales
group sale by new { sale.DateSold.Month, sale.Product.Shop } into ds
select new MonthlyTitleSales
{
Shop = ds.Select(it => it.Product.Sho
我有一个具有三个键的对象列表,我想将它转换为三个级别的查找(或字典):
class MyClass
{
public int Key1;
public int Key2;
public int Key3;
public float Value;
}
...
IEnumerable<MyClass> table = new List<MyClass>()
{
new MyClass(){Key1 = 11, Key2 = 21, Key3 = 31, Value = 1},
new MyClass(){Key1 = 11,
我有一个linq查询,它返回状态和具有如下状态的机器的数量: STATUS NUMBERS
-------|--------
Run | 25
-------|--------
STOP| 55
-------|---------
IDLE| 88 但问题是,当STOP的数量为零时,我在查询结果中看不到它,因此我创建了一个类并将所有状态放在那里: public class AllStatus
{
public int STOP { get; set; }
public int START_UP { get; set; }
public
我要选择列表中的第一组。有没有更好的方法。
我就是这样做的:
var match = (from m in recordList select m).FirstOrDefault();
var matches = recordList.Where(d => d.DateDetails == match.DateDetails);
var lookup = matches.ToLookup(a => a.DateDetails).First();
lookaheadList = lookup.ToList();
我正在选择第一组,并将其推入第二组,名为lookaheadlist列
我有发票清单和每张发票上的所有产品。每个发票可以有同一产品的倍数。
class InvoiceProducts
{
public int InvoiceID { get; set; }
public int ProductID { get; set; }
}
var list = new List<InvoiceProducts>();
list.Add(new { InvoiceID = 7000, ProductID=15});
list.Add(new { InvoiceID = 7000, ProductID=10});
list.Add(new {
我一直难以阐明和之间的区别,我很好奇我现在是否正确地理解了它。LINQ通过生成IGrouping项的序列,同时给出了ToLookup扩展方法,从而使问题更加复杂。所以在我仔细观察之前他们感觉是一样的。
var q1 =
from n in N
group n by n.MyKey into g
select g;
// q1 is IEnumerable<IGrouping<TKey, TVal>>
相当于:
var q2 = N.GroupBy(n => n.MyKey, n => n);
// q2 is IEnumerable
我有一些数据需要根据某些条件进行分区,例如:
var trues = from item in items where MyCondition(item, blah) select item;
var falses = from item in items where !MyCondition(item, blah) select item;
有没有一种更干净的方法可以在单个查询中做到这一点,并获得两个结果,这样我就不必像上面那样重复自己(并最终迭代数据两次)?
我有一个这样的类:
public class ContainerClass
{
public guid Group { get; set; }
public int Value { get; set; }
}
包含在:
IEnumerable<ContainerClass>
我怎么把它转换成下面的字典?
Dictionary<guid, List<int>>
我也看过类似的问题(例如:),但这是给Dictionary<guid, List<ContainerClass>>的,这与我想要的不同。
我知道在有了IEnume
我的数据如下两表所示
Master Columns
ID MyDateTime
1 07 Sept
2 08 Sept
上面的MyDatetime列有唯一的索引
Detail Columns
ID Data1 Data2 Data3
1 a b c
1 x y z
1 f g h
2 a b c
我想把这个写在字典里。我试过了
Dictionary<DateTime, List&l
我正在尝试使用LINQ从List<CustomObject>创建一个Dictionary<string, List<CustomObject>>。我可以使用"var“让它工作,但我不想使用匿名类型。这是我所拥有的
var x = (from CustomObject o in ListOfCustomObjects
group o by o.PropertyName into t
select t.ToList());
一旦我有了x,我也尝试使用LINQ库中的Cast<>(),但我遇到了编译问题,因为它是一个无效的
我需要构建从两个不同的Excel源读取的父-子对象的类型化列表:一个描述父对象,另一个描述子对象。层次结构只有两个层次。
读取到excel并不是问题,因为它被读取到两个非类型的数据,但加入信息是。
结构非常简单:
父有一个ID,一些文本字段子有一个parentID (所以它的1-m)和一些文本字段
要将它们填充到的对象如下所示:
public class ParkingSites
{
public List<ParkingLot> Lots { get; set; }
public ParkingSites(List<ParkingLot> arg)
如果我有一个简单的SQL查询,比如:
string sql = "SELECT [NonUniqueString] as Foo, [StringValue] as Bar FROM Table";
我想把它映射到一个Lookup<string, string>对象,我该如何使用Dapper来实现呢?
我当前对网格的ItemSource的查询速度非常慢。它目前有8个包含。我读到,如果我使用多个查询而不是使用Includes(),它可以加快速度。从引用
我将查询写到下面的数据库中
var loans = unitOfWork.Context.Loans.AsNoTracking().ToList();
var clientAccount = unitOfWork.Context.ClientAccounts.AsNoTracking().ToList();
var business = unitOfWork.Context.Businesses.AsNoTracking().ToList();
下面的查询返回下面的示例数据。有好几天。我希望能够显示一天与相关数据下的每一天。我的预期结果也可以在下面找到。不知何故,我认为我需要使用嵌套的foreach语句,但一直无法解决这个问题。我是林克的新手。如果你有任何想法,请协助。
var pracResult = from t in queryResultFilter
orderby t.Day
select t;
我有一些LINQ代码(不幸的是,我没有手!)从list对象获取副本。但是,原始列表中的副本如下所示:
Item A
Item A
Item A
Item B
Item B
Item C
Item C
Item C
Item C
etc...
我想要做的是扩展LINQ查询,以获取所有这些重复实例,而不仅仅是重复对中的第一个实例,或者三重实例。
什么样的查询才是最理想的呢?
我目前正在努力学习字典是如何工作的,但我找不到怎么做标题上说的。
using System;
using System.Collections.Generic;
namespace Demo.Aiman1
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, string> guestsFoods = new Dictionary<string, string>();
guestsFoo