小编Tim*_*mwi的帖子

如何立即构建调试和发布?

当我选择Build-> Build或其他任何东西时,它只构建当前选择的配置(Debug或Release).当我处于"调试模式"(我已选择调试)时,如何使其构建为示例Release?

.net c# visual-studio-2010 visual-studio

20
推荐指数
2
解决办法
5089
查看次数

是.NET应用程序中需要的ret指令吗?

我注意到C#编译器retvoid方法结束时生成一条指令:

.method private hidebysig static void Main(string[] args) cil managed
{
    // method body
    L_0030: ret 
} 
Run Code Online (Sandbox Code Playgroud)

我已经为.NET编写了一个编译器,无论我是否发出一个ret语句,它都可以工作(我已经检查了生成的IL,而且确实没有在那里).

我只是想知道:是否需要ret返回void任何方法?它似乎对堆栈没有任何作用,所以我认为这对于void方法来说完全没有必要,但是我想听听那些对CLR有更多了解的人的消息?

.net c# clr

19
推荐指数
3
解决办法
1025
查看次数

使用反射来调用重写的基本方法

如何使用反射调用被派生类重写的基本方法?

class Base
{
    public virtual void Foo() { Console.WriteLine("Base"); }
}
class Derived : Base
{
    public override void Foo() { Console.WriteLine("Derived"); }
}
public static void Main()
{
    Derived d = new Derived();
    typeof(Base).GetMethod("Foo").Invoke(d, null);
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

此代码始终显示"派生"...

.net c# reflection

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

Visual Studio:配置管理器丢失

我正在使用Microsoft Visual Studio Team System 2008 Team Suite.

我缺少"Configuration Manager"菜单项.我已经为配置管理器分配了一个键盘快捷键,但它没有任何效果(实际上,它会产生"叮"声).

如何让Configuration Manager适用于所有项目?

configurationmanager visual-studio

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

为什么CPU注册快速访问?

注册变量是一种众所周知的快速访问(register int i)方式.但为什么寄存器位于层次结构的顶层(寄存器,缓存,主存储器,辅助存储器)?访问寄存器如此之快的所有事情是什么?

cpu-architecture cpu-registers

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

Windows Phone 7(WP7)支持哪种编程语言?

我记得,WP7支持C#,但不支持任何.Net动态语言(Ruby或Python).是否支持除C#之外的任何其他编程语言?可以使用Boo开发应用程序吗?

.net boo windows-phone-7

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

C#动态关键字 - 运行时惩罚?

在C#中将实例定义为动态意味着:

  1. 编译器不执行编译时类型检查,但运行时检查就像它对所有实例一样.

  2. 编译器不执行编译时类型检查,但运行时检查发生,与任何其他非动态实例不同.

  3. 与2相同,这会带来性能损失(微不足道的?潜在的重要性?).

c# performance dynamic

16
推荐指数
2
解决办法
7893
查看次数

.NET"十进制"算术是否独立于平台/架构?

System.Double最近询问过,并被告知计算可能因平台/架构而异.不幸的是,我找不到任何信息告诉我是否同样适用System.Decimal.

我是否保证在独立于平台/架构的情况下获得与任何特定计算完全相同的结果decimal

.net c# math

16
推荐指数
4
解决办法
2016
查看次数

为什么显式转换为'decimal'会将显式运算符调用为'long'?

请考虑以下代码:

class Program
{
    public static explicit operator long(Program x) { return 47; }

    static int Main(string[] args)
    {
        var x = new Program();
        Console.WriteLine((decimal) x);
    }
}
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,这个输出47; 换句话说,explicit operator long即使是演员也是如此decimal.

C#规范中是否有明确说明应该发生这种情况(如果是这样,究竟在哪里)或者这是否是我遗漏的其他一些规则的结果?

c# implicit-conversion

16
推荐指数
2
解决办法
563
查看次数

Where和Select的(T,int)重载是否有LINQ语法?

查询

var q = from elem in collection
        where someCondition(elem)
        select elem;
Run Code Online (Sandbox Code Playgroud)

翻译成

var q = collection.Where(elem => someCondition(elem));
Run Code Online (Sandbox Code Playgroud)

是否有LINQ语法可以转换为以下内容?

var q = collection.Where((elem, index) => someCondition(elem, index));
Run Code Online (Sandbox Code Playgroud)

c# linq query-expressions

15
推荐指数
1
解决办法
969
查看次数