Tag: C#的

将bool转换为C ++中的文本

也许这是一个愚蠢的问题,但有什么办法将一个布尔值转换为一个string,使1变成“真”,0变成“假”? 我可以只使用一个if语句,但是很高兴知道是否有一种方法可以用语言或标准库来实现。 另外,我是一个学生。 🙂

如何检查variables的types是否匹配存储在variables中的types

User u = new User(); Type t = typeof(User); u is User -> returns true u is t -> compilation error 如何testing某些variables是否属于某种types?

从Web.Config读取variables

我怎样才能添加和读取web.config文件的值?

快速矩形到矩形的交集

testing2个矩形是否相交的快速方法是什么? 在互联网上search了这个单行(WOOT!),但我不明白如何用Javascript编写它,它似乎是用古老的C ++编写的。 struct { LONG left; LONG top; LONG right; LONG bottom; } RECT; bool IntersectRect(const RECT * r1, const RECT * r2) { return ! ( r2->left > r1->right || r2->right < r1->left || r2->top > r1->bottom || r2->bottom < r1->top ); }

在Vim中突出显示类和函数名称

我最近刚刚从Textmate设置了我的Vim环境,在沉迷于它的模式input之后。 但是,语法突出显示在Vim中似乎并不那么美丽。 我用C ++编写代码,由于函数调用和类名不能高亮显示,代码更难读。 我玩了一下配色scheme,但找不到任何对应于“class级名称”或“function名称”的字段。 在下面的图片中,注意DroughtLayer::和*.size() DroughtLayer:: *.size()在MacVim中的右侧没有突出显示。 Textmate(左)和Vim(右)的图片比较http://ivzhao.com/temp/vimHL.png 任何想法如何解决这个问题? 这让我非常恼火,因为我是一个视觉敏感的人。

在C#中枚举的同时从List <T>中移除项目的智能方法

我有一个经典的案例,试图从一个集合中删除一个项目,同时在一个循环中枚举它: List<int> myIntCollection = new List<int>(); myIntCollection.Add(42); myIntCollection.Add(12); myIntCollection.Add(96); myIntCollection.Add(25); foreach (int i in myIntCollection) { if (i == 42) myIntCollection.Remove(96); // The error is here. if (i == 25) myIntCollection.Remove(42); // The error is here. } 在更改发生后的迭代开始时,会抛出InvalidOperationException ,因为枚举器不会在底层集合更改时不喜欢。 我需要在迭代过程中对集合进行更改。 有许多模式可以用来避免这种情况 ,但似乎没有一个好的解决scheme: 不要在这个循环中删除,而应该在主循环之后保留一个单独的“删除列表”。 这通常是一个很好的解决scheme,但在我的情况下,我需要项目立即消失,因为“等待”,直到主循环之后真正删除项目会改变我的代码的逻辑stream程。 而不是删除项目,只需在项目上设置一个标志,并将其标记为不活动。 然后添加模式1的function来清理列表。 这可以满足我所有的需求,但是这意味着很多代码将不得不改变,以便每次访问一个项目时检查非激活标志。 这是太多的pipe理,我喜欢。 以某种方式将模式2的思想融入从List<T>派生的类中。 这个超级列表将处理非活动标志,在事实之后删除对象,并且也不会将枚举消费者标记为不活动的项目。 基本上,它只是封装了模式2的所有想法(以及随后的模式1)。 这样的课是否存在? 有没有人有这个代码? 或者,还有更好的方法? 我被告知访问myIntCollection.ToArray()而不是myIntCollection将解决问题,并允许我在循环内部删除。 […]

从集合中移除项目的最佳方法

一旦知道了项目,而不是它的索引,什么是最好的方式来处理从C#中的集合中删除项目。 这是做到这一点的一种方式,但似乎最好不过瘾。 //Remove the existing role assignment for the user. int cnt = 0; int assToDelete = 0; foreach (SPRoleAssignment spAssignment in workspace.RoleAssignments) { if (spAssignment.Member.Name == shortName) { assToDelete = cnt; } cnt++; } workspace.RoleAssignments.Remove(assToDelete); 我真正想要做的是find要删除的属性(在这种情况下,名称)没有循环通过整个集合,并使用2个额外的variables。

将焦点设置在WPF中的文本框上

如何设置WPF中的TextBox元素的焦点 我有这个代码: txtCompanyID.Focusable = true; txtCompanyID.Focus(); …但它不工作。 任何想法?

如何禁用Alt + F4closures窗体?

在ac#win表格中禁用Alt + F4以防止用户closures表单的最佳方法是什么? 我正在使用窗体作为popup对话框来显示进度栏,我不希望用户能够closures它。

如何生成一定长度的string插入文件以符合文件大小标准?

我有要求testing一些关于文件大小的负载问题。 我有一个用C#编写的Windows应用程序,它将自动生成文件。 我知道每个文件的大小,例如。 100KB,以及要生成多less个文件。 我需要帮助的是如何生成一个小于或等于所需的文件大小的string。 伪代码: long fileSizeInKB = (1024 * 100); //100KB int numberOfFiles = 5; for(var i = 0; i < numberOfFiles – 1; i++) { var dataSize = fileSizeInKB; var buffer = new byte[dataSize]; using (var fs = new FileStream(File, FileMode.Create, FileAccess.Write)) { } }