是否有一种方法可以使用linq select简化这段代码?
我想从我的列表中删除几个项目,并以相同的索引向列表中添加新项目。下面的代码可以工作.我正在检查是否可以用LINQ语句来简化它,而不是用foreach。
if (newHits.Any())
{
int newHitIndex = 0;
foreach (var h in allHits.ToList())
{
if (h.Type == type)
{
var index = allHits.FindIndex(a => a.Hit == h.Hit
我需要比较两个列表,每个列表包含大约60,000个对象。做这件事最有效的方法是什么?我想选择源列表中不存在于目标列表中的所有项目。
我正在创建一个同步应用程序,其中c#扫描一个目录并将每个文件的属性放在一个列表中。因此,源目录有一个列表,目标目录有另一个列表。然后,我不会复制所有的文件,而是比较列表,看看哪些是不同的。如果两个列表都有相同的文件,那么我不会复制该文件。下面是我使用的Linq查询,当我扫描一个小文件夹时,它可以工作,但当我扫描一个大文件夹时,它不起作用。
// s.linst is the list of the source files
// d.list is the lis
我正在根据我创建的类创建一个泛型列表,并输入所需的数据。
public class GroupList
{
public int pertt { get; set; }
public int pips { get; set; }
public int[] iVals;
public GroupList(int PerTT , int Pips , int[] iValues)
{
this.pertt = PerTT;
this.pips = Pip
我有一个会议列表,在其中我有另一个与会者列表。
该模型类似于以下内容:
public class Meeting
{
public string Id { get; set; }
public string Title { get; set; }
public List<User> Users { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}
我有Meetings的列表:List<Meeting>
如果我有一个包含多个Books的Publisher表,并且每个Book可以有多个作者,那么如何为Publisher获取不同作者的列表?在SQL中,您只需连接所有表,选择作者,然后使用select DISTINCT即可。使用LINQ我最终得到一个IEnumerable(Of EntitySet(of Author)):
Dim temp = From p in Publishers Select (From b in p.Books Select b.Author)
这仍然不能解决重复作者的问题。
有没有一种方法可以在一个查询中获得作者的平面列表,从Books中解组?我知道我可以遍历集合,创建一
我是C#中使用linq的初学者。当ref列表中存在第二个条目数据时,我希望使用linq连接列表中的相同项。我尝试使用分隔符分割来选择新列表,但无法得到预期的结果。
如下所示,我使用了以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
List<String> ref_list = new List<String>();
List<String> new_list = new List<
我有两个对象列表(列表1和列表2),并且我需要创建列表1中的第三个对象列表,这些对象与列表2中的至少一个对象共享一个属性值。为此,我创建了以下linq查询,但是,它相当慢(毫无疑问,在很大程度上,因为两个起始列表最多可以包含200,000个对象)。
(from obj1 in _list1
from obj2 in _list2
where obj1.SpecialId == obj2.SpecialId
select obj1)
.ToList();
有没有一种更有效的方式在代码中实现这一点(也许一开始就不用linq )?
我有Beam对象的列表。当IsJoist属性大于40时,如何使用LINQ改变光束的Width属性?
class Beam
{
public double Width { get; set; }
public bool IsJoist { get; set; }
}
var bm1 = new Beam { Width = 40 };
var bm2 = new Beam { Width = 50 };
var bm3 = new Beam { Width = 30 };
var bm4 = new Beam { Width = 60 };
var Beams = new L
我希望能够在BindingList(Of T)上运行LINQ查询,该查询返回列表对象成员等于特定值的索引。
假设我有一个类小部件的简单对象列表:
Public Class widget
Public Property foo As Integer
Public Property bar As String
End Class
Dim widgetList As BindingList(Of widget)
我希望能够查询以下内容:
Dim test As Integer = 5
Dim index = (From i In widgetList
Whe
我使用c#和sp.net MVC 5构建了我的第一个应用程序,到目前为止还不错:)
现在我遇到了一个问题,我们使用两个用户表,第一个包含用户名,另一个包含用户数据。
string user = User.Identity.Name;
var data = db.FE_Benutzer;
var collection = data.Where(o => o.Benutzername == user).Select(x => new
{
id = x.ID,
name = x.Name,
我的容器对象包含一个私有List<AbstractBaseClass>和几个从AbstractBaseClass派生的具体类型的公共列表。通过Add(AbstractBaseClass ABC)方法引用AbstractBaseClass,将对象添加到容器类中。
公用名单是应请求从Linq查询生成的
public List<ConcreteClass> ConcreteList
{
get
{
return
from a in _abc
Where a is ConcreteClass
我有一个新手LINQ的问题。我需要从字符串列表中创建两个相同类型的对象。我需要将文本'Direct‘和"Indirect’追加到字符串中,并使用它们作为ID来创建两个唯一的对象。
var vStrings = new List { "Milk", "Eggs", "Cheese" };
var vProducts = (from s in vStrings
select new Product { ID = s + "-Direct" })
.Uni
所以我最近一直在用LINQ做事情,我一直在网上寻找所有集成的LINQ关键字的完整列表,但我找不到任何关键字。
以下是我所知道的一些:
from in
let
group by into
orderby
where
select
还有什么我不知道的吗?在哪里可以找到集成LINQ的所有可能功能的完整列表?
我是LINQ的新手。
我正在尝试比较两个逗号分隔的字符串,看看它们是否包含匹配值。
我有一个包含代码列表的字符串。masterFormList = "AAA、BBB、CCC、FFF、GGG、HHH“
我正在尝试将其与对象列表进行比较。在给定字段中,FormCode包含逗号分隔的代码字符串。我想看看这个字符串中是否至少有一段代码在masterFormList中。我该如何编写linq来实现这一点呢?
现在我有:
resultsList = (from r in resultsList
where r.FormCodes.Split(',').Contains(masterF
我正在研究linq,想知道linq能否在下面的场景中应用和使用;
假设我们用空格分隔字符串,并希望将拆分结果中的每一项添加到列表中,如果列表中还没有项;
string text = "This is just a test!";
List<string> uniqueList = new List<string>();
foreach (string item in text.Split(' '))
{
if (!uniqueList.Contains(item))
{
uniqueList.Add(ite
我正尝试在LINQ中使用Union合并列表,但我不想删除重复的值。
WordJEntities db = new WordJEntities();
string[] barrayk = new string[6] {"12","13","14","12","13","15"};
var sppk = from row in db.table1 where row.Id == 12 select new{row.name };
IEnumerable<object> data8k = n
我对使用LINQ的高级过滤数据有问题。 我想要获取Plan类的列表,其中Items列表中的参数包含特定字符。此外,项目列表应该只包含此过滤的元素。 我的类如下所示: class Plan
{
public string Name { get; set; }
public List<Detail> Details { get; set; }
public Plan()
{
Details = new List<Detail>();
}
}
class Detail
{
public string Set
我目前正在开发一个.NET 4.7应用程序。
给定的是包含父元素和子元素的1个list。我需要根据父元素Id对列表中的所有元素进行分组。
这并不是那么简单,因为我有一个复杂类型的对象:List<LinkParentChildViewModel>
public class LinkParentChildViewModel
{
public Location Parent { get; set; }
public List<LocationLink> Children { get; set; }
}
public class Location
{
p
我想知道我是否可以访问我的List的一个项目并将它分配给一个textbox
public static List<Product> detailsList = new List<Product>();
Product是通过使用LINQ to SQL和字段Name,Code,Details生成的类,也就是说,我的列表包含items(Name,Code,Details)。我希望从列表中访问项Details的值,并将其分配给textbox。类似于:
txtDetails.Text = detailsList.Details.ToString()
在我的WPF应用程序中,Linq和ObservableCollections存在问题。
问题的背景:
我用两个表创建了一个非常简单的SQL数据库: User和BankAccounts。用户表与BankAccounts表有一对多的关系.接下来,我创建了Linq数据集,它工作得很好,==>也检测到了两个表之间的assosiation。
接下来,我创建了一个函数,以使所有用户恢复正常工作:
DataClassesDataContext dc = new DataClassesDataContext
var query = from u in dc.Users
sele
假设我有一个表,其中有5列( col_1,col_2,col_3,col_4,col_5)。
我正在尝试使用linq查询来按2列( col_2,col_3)分组,我必须选择按第4列排序的第一条记录( col_4 ),并且必须为我将获得的所有记录获取具有全部5列的整个行。
from abcd in Context.table
group abcd by new { abcd.col2, abcd.col2 }
into temp orderby temp.orderby(x=> x.col_4)
select ..
在这里,我对如何获取整个行值感到困惑,
我也不确定这个排序逻辑
由于某些原因,EF不会正确加载包含列表,因此它最终总是为null。
下面是我使用的实体:
[Table("searchprofilepush")]
public class SearchProfilePush
{
public int Id { get; set; }
public int AccountId { get; set; }
public bool Push { get; set; }
public int UserPushId { get; set; }
public UserPush UserPush { get;
下面是我的类。我有一个包含天数列表的产品。每一天都有一个城市的财产。
我需要创建一个linq查询,它将为我提供系统中所有产品上使用的不同城市。
我尝试过这样的方法,但它不起作用:
var cities = from product in NHibernateSession.Linq<Product>() select new { city = product.Days.Where(d => d.City != null).Distinct() }; //This returns the day items but i need distinct cities
publ
我有两个包含类的列表
public class Product
{
int id;
string url;
ect.
}
我需要在旧列表(10k+元素)中按ID比较新列表(10个元素),如果id相同,只需将新列表中的数据替换为旧列表
我认为使用LINQ会很好。你能告诉我如何使用LINQ或有batter库吗?
假设我有一个类似下面这个简单示例的实体:
MyEntity
{
int property1;
int property2;
int property3;
}
现在假设我有一个包含这些实体的IEnumerable列表。是否有可以执行的LINQ查询将列表中每个实体的property1值设置为100?我知道我可以通过foreach做到这一点,但我想知道LINQ是否可以更优雅地做到这一点。