Tag: list

修改List.Contains行为

我有一个List , class MyObj : IComparable 。 我根据IComparable接口在MyObj类中编写了CompareTo方法,但是当我使用List.Contains(myObjInstance)时,它应该为true时返回false 。 我不确定我是否理解如何在调用然后Contains函数时确保List使用我的自定义比较方法。 这是我的compareTo实现: #region IComparable Members public int CompareTo(object obj) { MyObj myObj = (MyObj)obj; return String.Compare(this.Symbol, myObj.Symbol, true); } #endregion 请注意,Symbol属性是一个字符串。 为了澄清我在compareTo方法中设置了一个停止点,它甚至没有进入那里。 有人试过吗? 谢谢。

如何根据多个条件并使用linq从通用列表中删除项目

我有两个列表,一个包含URL,另一个包含所有MIME文件扩展名。 我想从第一个列表中删除所有指向此类文件的URL。 示例代码: List urls = new List(); urls.Add(“http://stackoverflow.com/questions/ask”); urls.Add(“http://stackoverflow.com/questions/dir/some.pdf”); urls.Add(“http://stackoverflow.com/questions/dir/some.doc”); //total items in the second list are 190 List mime = new List(); mime.Add(“.pdf”); mime.Add(“.doc”); mime.Add(“.dms”); mime.Add(“.dll”); 删除多个项目的一种方法是: List result = urls.Where(x => (!x.EndsWith(“.pdf”)) && (!x.EndsWith(“.doc”)) && (!x.EndsWith(“.dll”))).ToList(); 但是,我的第二个列表中有超过190个扩展。 问题 – 我可以使用单行删除第一个列表中的项目,还是仅使用foreach循环?

Linq查询过滤列表中的id c#

我有一个结果列表列表,其中包含List里面的内容。我有另一个列表,其中只包含List。我想使用数据中的linq查询进行过滤,它应返回包含第二个技能ID的所有数据名单。 var list = this._viewModel.Data.Select(T => T.SkillsList); var filtered = item.Skills.Contains(list.Where(t=>t.ToString()).ToList(); 从第一个列表中它包含技能列表中的小数列表; item.Skills包含字段为技能和代码的列表。 item是另一个包含技能列表的对象。

如果object是Generic List

有没有办法确定对象是否是通用列表? 我不会知道列表的类型,我只知道它是一个列表。 我怎样才能确定?

无法从用法中推断出方法的类型参数。 尝试显式指定类型参数

我正在尝试使用TextChanged()事件在文本框中填充SQL Server中的自动填充文本。 [WindowsForm, C#] 我有一个部分class级表格 TextChanged事件: private void textBoxFilterCName_TextChanged(object sender, EventArgs e) { DataTable dt = FillCustomerName(textBoxFilterCName.Text); List listNames = CustomerName.ConvertDataTableToList(dt); textBoxFilterCName.AutoCompleteMode = AutoCompleteMode.SuggestAppend; AutoCompleteStringCollection dataName = new AutoCompleteStringCollection(); dataName.AddRange(listNames.ToArray()); textBoxFilterCName.AutoCompleteCustomSource = dataName; textBoxFilterCName.AutoCompleteSource = AutoCompleteSource.CustomSource; } 当我调用此方法CustomerName.ConvertDataTableToList()时,我收到此错误。 无法从用法中推断出方法’CustomerName.ConvertDataTableToList(DataTable)’的类型参数。 尝试显式指定类型参数。 FillCustomerName()方法 public DataTable FillCustomerName(string cName) { DataTable dtName = new DataTable(); List listName = new […]

C#序列化对象集合

我正在开发一个ASP.NET应用程序,它具有一个inheritance自定义对象列表的类。 public class UserRoleList : List { public UserRoleList() { } } 如何在C#中使这个类可序列化?

如何使用AutoMapper深度克隆包含IList属性的对象

我正在尝试使用AutoMapper深度克隆以下类: public class MainData { public MainData() { Details = new List(); } public int Id { get; private set; } public DateTime LastUpdate { get; private set; } public IList Details { get; private set; } public int Prop1 { get; set; } public int Prop2 { get; set; } public void AddDetail(Detail detail) […]

将IList 转换为BindingList

如何将IList列表转换为BindingList ?

C#列表 – 分组 – 没有Linq

我有一个对象: IObject { string Account, decimal Amount } 如何按帐户分组并汇总金额,返回没有Linq的列表。 2.0框架……这就是为什么没有Linq。 这是我有的: ListofObjects = List; foreach (var object in objects) { var objectToAdd = new Object(object); var oa = ListofObjects.Find(x => x.Account == objectToAdd.Account); if (oa == null) { ListofObjects.Add(objectToAdd); } else { ListofObjects.Remove(oa); oa.Amount = objectToAdd.Amount; ListofObjects.Add(oa); } }

在F#中使用SqlDataReader

在C#中,我使用sql脚本将数据添加到List中,其中T将是一个具有映射到sql脚本的字段/属性的类。 我怎么能在F#中做到这一点? 这篇文章以标准方式使用存储过程。 using (conn) { conn.Open(); using (SqlCommand cmd = new SqlCommand(“dbo.query_here”, conn)) { cmd.CommandText = “dbo.query_here”; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandTimeout = 600; cmd.Parameters.Add(new SqlParameter(“@x1”, Convert.ToString(x))); cmd.Parameters.Add(new SqlParameter(“@y1”, y)); cmd.Parameters.Add(new SqlParameter(“@z1”, z)); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { MyListOfClasses.Add(new MyDataClass(reader.GetInt32(reader.GetOrdinal(“x”)) reader.GetDouble(reader.GetOrdinal(“y”)), reader.GetDouble(reader.GetOrdinal(“a”)), reader.GetDouble(reader.GetOrdinal(“b”)))); } reader.Close(); } conn.Close(); 我意识到F#并不像这样直截了当,但我需要以类似的方式将这些数据放入F#列表中。 也更喜欢那些本质上不起作用的建议,并遵循与C#代码类似的模式。 在之前的一个post中有人建议使用记录,但这与SqlDataReader无关。 最好有一个类列表,这样我就可以在每个项目上使用getter和setter。 我应该在不可避免的评论之前加上“为什么不只是使用C#”。 很明显我可以使用C#,但我正在探索在F#中编写算法的可能性,为此我需要从SQL […]