Tag: c#

在给定BNF语法的情况下输出C#的解析器生成器?

如果我给它一个BNF语法,我正在寻找能够构建解析器(在C#中)的工具(例如http://savage.net.au/SQL/sql-2003-2.bnf ) 这样的发电机存在吗?

在隔离存储中绑定图像

嘿。 我有一个用户可以搜索的项目列表。 搜索结果显示在列表框中。 每个animal对象都有一个到隔离存储中的图像的路径。 将listboxitem中的Image控件绑定到隔离存储中的图像的最快方法是什么? 我见过的例子倾向于显示来自互联网的图像而不是隔离存储。 如果我有大约10张图像,它似乎会占用所有内存并崩溃。 谢谢 编辑: 我在我的BitmapConverter类中使用它(inheritanceIValueConverter) public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value !=null) { BitmapImage bitmapImage = new BitmapImage(); bitmapImage.SetSource(new MemoryStream((Byte[]) value)); return bitmapImage; } else { return null; } } 我在AppResource.xaml文件的顶部有这个: In my style, within the AppResource.xaml file: 我在我的BitmapConverter中设置了一个断点,但它从未被调用过。 我之前从未使用过IValueConverter,所以任何帮助都会很棒。 谢谢

如何在C#中使用OnPaint事件?

我在网站上看到了一些类似的问题,但没有一个真正帮助过我。 我有一个函数,当单击一个按钮时,它会在窗体上绘制几行,这些按钮的形状会根据用户在某些文本框中输入的值而变化。 我的问题是,当我最小化forms时,线条消失,我明白这可以通过使用OnPaint事件来解决,但我真的不明白如何。 任何人都可以给我一个简单的例子,使用函数在按下按钮时使用OnPaint事件绘制一些东西吗?

获取C#字符串中第一个非空白字符的索引

有没有办法在C#中获取字符串中第一个非空白字符的索引(或更一般地说,第一个字符的索引匹配条件)而不编写我自己的循环代码? 编辑 通过“编写我自己的循环代码”,我真的意味着我正在寻找一个解决问题的紧凑表达式,而不会弄乱我正在处理的逻辑。 对于在这一点上的任何混淆,我道歉。

我应该何时在C#中定义(显式或隐式)转换运算符?

C#的一个鲜为人知的特性是可以创建隐式或显式的用户定义类型转换 。 我已经写了6年的C#代码了,我从来没有用过它。 所以,我担心我可能错过了好机会。 什么是用户定义转换的合法,良好用途? 您是否有比仅定义自定义方法更好的示例? – 事实certificate,微软有一些关于转换的设计指南 ,其中最相关的是: 如果最终用户未明确预期此类转换,请勿提供转换运算符。 但什么时候转换“预期”? 在玩具编号课程之外,我无法弄清楚任何真实世界的用例。 以下是答案中提供的示例摘要: 弧度/度/双 极地/的Point2D 开尔文/华氏/摄氏度 模式似乎是:隐式转换大多数(仅?)在定义数值/值类型时很有用,转换由公式定义。 回想起来,这很明显。 不过,我想知道非数字类是否也可以从隐式转换中受益..?

在类中添加是否会产生任何性能影响?

我需要将[Serializable]属性添加到对性能非常敏感的类中。 该属性是否会对类的操作产生任何性能影响?

如何将System.Linq.Enumerable.WhereListIterator 转换为List ?

在下面的示例中,如何轻松地将eventScores转换为List以便我可以将其用作prettyPrint的参数? Console.WriteLine(“Example of LINQ’s Where:”); List scores = new List { 1,2,3,4,5,6,7,8 }; var evenScores = scores.Where(i => i % 2 == 0); Action<List, string> prettyPrint = (list, title) => { Console.WriteLine(“*** {0} ***”, title); list.ForEach(i => Console.WriteLine(i)); }; scores.ForEach(i => Console.WriteLine(i)); prettyPrint(scores, “The Scores:”); foreach (int score in evenScores) { Console.WriteLine(score); }

MVC 4 Simple Populate DropDown来自数据库模型

我觉得有点傻。 我试图获得一个MVC 4,使用拳击作为一个function的例子。 我在数据库( Heavyweights等)和Boxers WeightCategories有WeightCategories 。 似乎很简单。 关系是一个拳击手有一个当前的重量类别,但是当我编辑时,我希望它能够通过下拉来改变它。 如果它是我在代码中自己制作的列表,我理解如何做到这一点,但是我有理解如何从WeightCategory表“加载”列表并在拳击手的视图/模型中显示它。 所以,这是我的WeightCategory项的代码: [Table(“WeightCategories”)] public class WeightCategory { [Key] public int WeightCategoryId { get; set; } public WEIGHT_CATEGORIES WeightCategoryType { get; set; } [Display(Name = “Weight Category Name”)] [Required] [MinLength(5)] public string Name { get; set; } [Display(Name = “Weight Limit In Pounds”)] public int? WeightLimit { […]

为什么这个generics场景会导致TypeLoadException?

这有点啰嗦,所以这是快速版本: 为什么这会导致运行时TypeLoadException? (并且编译器是否应该阻止我这样做?) interface I { void Foo(); } class C { public void Foo() where T2 : T1 { } } class D : C, I { } 如果您尝试实例化D,则会发生exception。 更长,更具探索性的版本: 考虑: interface I { void Foo(); } class C { public void Foo() where T2 : T1 { } } class some_other_class { } […]

每次迭代都会评估for循环中的条件吗?

当你做的事情: for (int i = 0; i < collection.Count; ++i ) 是每次迭代都调用collection.Count吗? 如果Count属性动态获取调用计数,结果会改变吗?