Tag: c# 4.0

如何使用asp.net序列化使用值和属性反序列化xml节点

我有4个小类来从一个xml轮询中反序列化xml,到可用的类来构建轮询。 现在,我知道如何从类中设置属性,以匹配xml中的某个属性或元素,如果该元素只是一个简单的字符串,但如果该元素也具有如下例所示的属性,该怎么办? 3 2 5 问题类看起来像这样: [Serializable()] public class Question { [XmlAttribute(“Id”)] public Guid QuestionId { get; set; } [XmlArray(“AnswerItems”)] [XmlArrayItem(“AnswerItem”, typeof(AnswerItem))] public AnswerItem[] AnswerItems { get; set; } } [Serializable()] public class AnswerItem { [XmlAttribute(“Id”)] public Guid QuestionId { get; set; } // how do i fetch the value of this node? // its […]

如何使用C#4.0在contextmenustrip中添加子菜单项?

我有一个与treenode相关的contextmenustrip控件。 我在表单本身中手动创建了一个菜单项(例如,命名为“Assign”)。 现在,我想在用户单击此Assign项时添加子菜单项,它将创建一个用户名列表作为带有选中或未选中选项的子菜单项。 例如,一旦用户单击Assign,然后我想动态显示用户名。

序列化HashSet

我正在尝试序列化Hashset,但我没有运气。 每当我尝试打开序列化数据时,我都会得到一个空的HashSet。 但是,List工作正常。 示例代码: [Serializable()] public class MyClass : ISerializable { public MyClass(SerializationInfo info, StreamingContext ctxt) { HashSet hashset = (HashSet)info.GetValue(“hashset”, typeof(HashSet)); List list = (List)info.GetValue(“list”, typeof(List)); Console.WriteLine(“Printing Hashset:”); foreach (string line in hashset) { Console.WriteLine(line); } Console.WriteLine(“Printing List:”); foreach (string line in list) { Console.WriteLine(line); } } public void GetObjectData(SerializationInfo info, StreamingContext ctxt) { […]

为什么BCL中没有AutoResetEventSlim?

为什么BCL中没有AutoResetEventSlim类? 可以使用ManualResetEventSlim进行模拟吗?

如何在C#中反序列化包含多种类型元素的XML数组

我正在尝试反序列化以下文件: Wayne Stamkos 23 34 Sidney Lindros 41 44 Martin Roy 15 12 Paul Forsberg 21 51 Roberto Rinne 18 23 使用以下代码: namespace ConsoleApplication2 { [XmlRoot(“league”)] public class League { [XmlArray(“players”)] [XmlArrayItem(“skater”)] public List skaters { get; set; } [XmlArrayItem(“goalie”)] public List goalies { get; set; } } public class Skater { [XmlElement(“name”)] public string […]

在解析动态对象时,C#是否为var选择了错误的类型?

我使用以下代码将一些Json转换为动态对象。 当我在动态类型的属性上使用DateTime.Parse时,我希望var猜测它的类型是DateTime …而是保持动态。 这不可能是对的,可以吗? 完整的例子如下。 var settings = new JavaScriptSerializer().Deserialize(json); var startDate = DateTime.Parse(settings.startDate); var endDate = DateTime.Parse(settings.endDate); var userId = int.Parse(settings.userId); startDate,endDate和userId都是动态的,这意味着我不能在以后的Lambda表达式中使用它们。 显然,我可以用以下代码修复代码: DateTime startDate = DateTime.Parse(settings.startDate); DateTime endDate = DateTime.Parse(settings.endDate); int userId = int.Parse(settings.userId); ..但似乎编译器正在做出“糟糕的猜测”。 任何人都可以向我解释这个吗? 谢谢

如何使类可迭代?

这是我的class级 public class csWordSimilarity { public int irColumn1 = 0; public int irColumn2 = 0; public int irColumn3 = 0; public int irColumn4 = 0; public int irColumn5 = 0; } 我想使该类可迭代使用,如下所示 foreach (int irVal in myVarWordSimilarity) { } myVarWordSimilarity是csWordSimilarity类型。 所以我想迭代所有公共int变量。 我如何修改csWordSimilarity类以使其像上面的方式一样进行迭代。

动态关键字vs对象数据类型

这两个变量定义有什么不同? object oVar; dynamic dVar; 性能? 内存分配? 好处?

C#:对象的==和!=运算符的默认实现

我想知道什么是相等操作的默认实现(==和!=) 是吗? public static bool operator ==(object obj1, object obj2) { return obj1.Equals(obj2); } public static bool operator !=(object obj1, object obj2) { return !obj1.Equals(obj2); } 所以我只需要覆盖Equals方法或者我是否还需要覆盖euality运算符?

使用字符串作为输入在c#中创建简单的Excel工作表

我正在使用C#创建EXcel表。 No Of columns:4 Name of columns: SNO, Name, ID, Address 行数没有限制。 SNO Name ID Address 1 A 1122 XXXX 2 B 2211 YYYY — — —- — 我有字符串作为输入 string sno, string name, string Id, string address 我其实是C#背景的新手。 任何人都可以分享他们的观点,如需要的dll等。 谢谢