小编Mar*_*k T的帖子

在Windows窗体上绘制一个像素

我试图打开Windows窗体上的单个像素.

graphics.DrawLine(Pens.Black, 50, 50, 51, 50); // draws two pixels

graphics.DrawLine(Pens.Black, 50, 50, 50, 50); // draws no pixels
Run Code Online (Sandbox Code Playgroud)

API真的应该有一个方法来设置一个像素的颜色,但我没有看到一个.

我正在使用C#.

.net c# gdi+ pixel winforms

86
推荐指数
4
解决办法
9万
查看次数

从类型的部分名称获取System.Type

我想得到一个System.Type给定的类型名称string.

例如,如果我有一个对象:

MyClass abc = new MyClass();
Run Code Online (Sandbox Code Playgroud)

我可以说:

System.Type type = abc.GetType();
Run Code Online (Sandbox Code Playgroud)

但如果我拥有的是:

string className = "MyClass";
Run Code Online (Sandbox Code Playgroud)

.net c# reflection types

37
推荐指数
2
解决办法
3万
查看次数

你能在一个结构中有一个类吗?

在C#中是否可以使用具有类型类型的成员变量的Struct?如果是这样,信息存储在哪里,堆栈,堆,或两者?

c# struct class value-type reference-type

26
推荐指数
2
解决办法
1万
查看次数

下一个更高/更低的IEEE双精度数

我正在进行高精度的科学计算.在寻找各种效果的最佳表示时,我不断提出想要获得下一个更高(或更低)双精度数的理由.基本上,我想要做的是在double的内部表示中添加一个最低有效位.

难点在于IEEE格式不完全一致.如果要使用低级代码并实际将一个代码添加到最低有效位,则生成的格式可能不是下一个可用的双精度型.例如,它可能是一个特殊的案例编号,例如PositiveInfinity或NaN.还有一些次正常值,我不认为这些值,但它们似乎具有与"正常"模式不同的特定位模式.

可以使用"epsilon"值,但我从未理解其定义.由于double值不是均匀间隔,因此不能将单个值添加到double以产生下一个更高的值.

我真的不明白为什么IEEE没有指定一个函数来获得下一个更高或更低的值.我不可能是唯一需要它的人.

有没有办法获得下一个值(没有某种类型的循环尝试添加更小和更小的值).

double ieee-754 floating-point-precision

21
推荐指数
4
解决办法
2991
查看次数

C#事件删除语法

我对在C#中删除事件处理程序的语法感到困惑.

Something += new MyHandler(HandleSomething); // add
Something -= new MyHandler(HandleSomething); // remove
Run Code Online (Sandbox Code Playgroud)

"new"在每一行上创建一个新对象,因此您添加一个对象,然后要求它删除另一个对象.

这可以起到什么作用?
从语法来看肯定不明显.

c# events handler

8
推荐指数
2
解决办法
1197
查看次数

是否支持基于索引的排序?

是否有任何内置的C#支持进行索引排序?

更多细节:
我有几组数据存储在单个通用的double列表中.这些列表的长度始终相等,并保存相应的数据项,但这些列表是动态的,所以我不能只是干净地将相应的数据项存储在类或结构中.(我也在处理一些遗留问题.)

我需要能够从任何一个数据集中对这些键控进行排序.

我想到最好的方法是添加一个间接层,并使用基于索引的排序.这种种类已经使用多年了.

基于索引的排序的快速定义:
使"索引",一个与列表长度相同的连续整数数组,然后排序算法对整数列表进行anylist[index[N]]排序,以便按排序顺序给出任何列表的第N项.列表本身永远不会被重新订购.

是否有任何内置的C#支持进行索引排序?我一直无法找到它...我发现的所有内容都重新整理了这个集合.我的猜测是支持存在,但我还没有找到合适的地方.

我在Windows下使用C#.NET 3.5.

c# sorting indexing

7
推荐指数
1
解决办法
8191
查看次数

C#实时尝试捕获

我想要一个实际上在C#中进行实时编程或者真正了解语言内部的人的回复.

我知道异常不应该用于处理正常处理,而只是用于检测错误条件.有关该主题的讨论很多.

我想知道是否有任何运行时间减慢,只需要一个try/catch块(除非程序必须以任何方式结束,否则永远不会捕获异常).try/catch块位于必须重复调用的函数内.我怀疑只有最低成本.

是否可以根据CPU周期或其他任务(与浮点乘法相同的成本)或其他方式来量化成本?

我们在Windows XP下使用Microsoft C#.Net 3.5.

c# real-time try-catch throw

7
推荐指数
1
解决办法
2005
查看次数

在Outlook之外保存/组织/搜索Outlook电子邮件

我的公司要求我使用Outlook进行电子邮件.Outlook几乎没有像我想要的那样做,它让我非常沮丧.(我不是想在这里开始一场火焰战争,它必须完全按照成千上万的首席执行官的要求去做,但我不是首席执行官.)

我希望能够自动提取当前在我的Outlook帐户中的数千封电子邮件和附件,并将其保存为我自己的替代存储格式,在那里我可以轻松搜索它们并按照我想要的方式组织它们.(我不是要求新格式的建议.)

也许一些不错的开源程序已经可以做到这一点......这将是伟大的.请告诉我.

否则,如何在不经过大量收集的情况下获取邮件内容和附件? 即使我只能获取消息内容和附件的名称,这也就足够了.是否有Outlook邮件存储格式的文档?有没有办法查询Outlook的数据?

也许有一种我没有考虑的替代方法?

我这样做的首选语言是C#,但如果需要我可以使用其他语言.

email outlook

5
推荐指数
1
解决办法
1435
查看次数

是否有任何问题从一个从未被吸引过的事件中取消代理?

我在C#下使用标准的Windows窗体控件.

我有两个控件,它们是设置单个值的不同方法.因此,当更改一个时,更改的事件处理程序计算另一个的值并设置它.所以我需要暂时取消第二个控件上的更改事件以防止循环(更改B,B更改以便更改A,A更改...).还有一些其他情况我需要停止更改事件.所以有几个地方我需要解开事件,只有一个地方需要挂钩.

我的问题是:我是否需要跟踪事件是否已被挂钩,还是我可以根据自己的喜好多次取消它,并且偶尔会再次挂钩?(有没有解决这个问题的文件?)

.net c# events

4
推荐指数
1
解决办法
1536
查看次数

如何查找所有文件,包括隐藏文件和系统文件

我需要在目录中创建文件和子目录的完整列表.

DirectoryInfo.GetFiles()找不到所有文件; 隐藏文件至少似乎缺失了.

(可能还存在权限问题,因为我无法使用Windows资源管理器查看某些目录,即使我以管理员身份运行.例如,无法输入"C:\ System Volume Information".)

我正在使用C#,Windows XP专业版

.net c# directory permissions hidden

4
推荐指数
1
解决办法
5828
查看次数