小编Rom*_*kov的帖子

为什么C#中的匿名类型的属性是只读的?

在C#中,匿名类型的属性是只读的:

var person = new { Surname = "Smith", OtherNames = "John" };
person.Surname = "Johnson";  // ERROR: .Surname is read-only
Run Code Online (Sandbox Code Playgroud)

当然,如果我想要可写字段或属性,我可以声明一个真正的类,但不管怎样,这个设计决策背后的原因是什么使属性成为只读?

c# c#-3.0

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

你如何在C#中进行*整数*取幂?

Math.Pow().NET中的内置函数double为double指数提供基础并返回double结果.

使用整数执行相同操作的最佳方法是什么?

补充:似乎可以将Math.Pow()结果转换为(int),但这总是产生正确的数字而没有舍入错误?

c# math integer exponentiation

45
推荐指数
6
解决办法
4万
查看次数

WinForms中的右对齐标签

Label在WinForms中右对齐a的最明显方法不起作用:将anchor设置为Top/Bottom Right,TextAlign设置为TopRight.如果文本改变了标签的左坐标保持不变而不是右坐标(人们可能认为这是一个错误).

出于这个原因,我总是使用全宽度TableLayoutPanel的右对齐标签.然而,根据所讨论的布局,这并不总是非常方便...

所以,我想知道是否有任何其他方法可以让我在WinForms中保持一个从未发生过的对齐?

.net label winforms

44
推荐指数
4
解决办法
3万
查看次数

如何在HttpWebRequest中为单个请求禁用"Expect:100 continue"标头?

HttpWebRequest自动附加Expect: 100-continuePOST请求的标头.互联网上的各种消息来源表明,这可以被禁用如下:

System.Net.ServicePointManager.Expect100Continue = false;
Run Code Online (Sandbox Code Playgroud)

但是,我正在编写一个库,我不能为整个appdomain禁用它,以防应用程序依赖于此行为.我也不能假设它将保持设定为此值.如何针对特定请求禁用它?

.net c# httpwebrequest

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

在.Net中创建一个XAML文件

在我的Silverlight项目中,我想创建一个包含.xaml的程序集,该程序集无法从程序集外部看到.但是,我没有明确的方法可以做到这一点.当我修改.xaml.cs文件中的访问修饰符时,编译器告诉我:

Partial declarations of "My xaml class here" have conflicting accessibility modifiers   
Run Code Online (Sandbox Code Playgroud)

在xaml文件本身中,似乎没有地方放置我的访问修饰符.简而言之,如何设置与我的xaml文件关联的类internal.

.net silverlight wpf xaml

39
推荐指数
1
解决办法
8855
查看次数

使用XDocument作为XmlSerializer.Deserialize的源?

我想调用XmlSerializer.Deserialize它来传递它XDocument.它可以采取a Stream,a XmlReader或a TextReader.

我可以生成上面的一个XDocument而不实际转储XDocument到一些中间存储,例如MemoryStream?

似乎我所追求的是一个XmlReader适用于它的实现XDocument.我找不到一个.

.net linq-to-xml

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

如何在程序崩溃时终止程序?(这应该只是单元测试失败而不是永远卡住)

我们的单元测试会触发子进程,有时这些子进程会崩溃.发生这种情况时,会弹出一个Windows错误报告对话框,并且该过程保持活动状态,直到手动关闭该过程.这当然可以防止单元测试终止.

如何避免这种情况?


这是Win7中的一个示例对话框,其中包含常用设置:

替代文字

如果我禁用了AeDebug注册表项,JIT调试选项就会消失:

替代文字

如果我禁用检查解决方案(我似乎只能通过控制面板控制),它看起来像这样,但仍然出现并仍然停止程序死亡直到用户按下某些东西.记录WerAddExcludedApplication也具有此效果.

替代文字

language-agnostic unit-testing windows-7

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

为什么TimeSpan.FromSeconds(double)舍入到毫秒?

TimeSpan.FromSeconds 需要一个双倍,并且可以表示低至100纳秒的值,但是这种方法莫名其妙地将时间四舍五入到整个毫秒.

鉴于我只花了半个小时来确定这个(记录在案的!)行为,知道为什么会出现这种情况会更容易忍受浪费的时间.

任何人都可以建议为什么这种看似适得其反的行为被实施了?

TimeSpan.FromSeconds(0.12345678).TotalSeconds
    // 0.123
TimeSpan.FromTicks((long)(TimeSpan.TicksPerSecond * 0.12345678)).TotalSeconds
    // 0.1234567
Run Code Online (Sandbox Code Playgroud)

.net timespan base-class-library

34
推荐指数
3
解决办法
5878
查看次数

获取当前范围内所有变量及其值的字典

请考虑以下代码段:

globalVar = 25

def myfunc(paramVar):
    localVar = 30
    print "Vars: {globalVar}, {paramVar}, {localVar}!".format(**VARS_IN_SCOPE)

myfunc(123)
Run Code Online (Sandbox Code Playgroud)

VARS_IN_SCOPE我之后的字典在哪里包含globalVar,paramVar以及localVar其他内容.

我想基本上能够引用字符串中当前范围内的所有变量.因此预期的产出将是:

Vars: 25, 123, 30

我可以通过传递**dict(globals().items() + locals().items())来实现这一目标format().这总是正确的还是这个表达式会错误处理的一些极端情况?

改写以澄清问题.

python

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

在C#中,List <struct>中的值是否装箱?

假设我声明了一个包含结构类型值的泛型List:

struct MyStruct {
    public MyStruct(int val1, decimal val2) : this() {
        Val1 = val1;
        Val2 = val2;
    }
    public int Val1 {get; private set;}
    public decimal Val2 {get; private set;}
}

List<MyStruct> list;
Run Code Online (Sandbox Code Playgroud)

List <>是否将每个单独的值存储为一个盒装结构,在堆上单独分配?或者它比那更聪明?

c# generics

32
推荐指数
3
解决办法
7870
查看次数