问题列表 - 第4154页

使用C#3.0+中的'var'声明中的性能惩罚(如果有)

在c#3.0+中使用var声明是否有任何性能损失?Resharper一直在唠叨我自由地使用它,我想知道它是否有任何缺点.

.net c#-3.0

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

我的Java代码如何读取OS环境变量?

这可能是一个非常简单的问题,但我找不到答案googleing而且我很匆忙 - 所以我很欣赏快速代码示例.

我想在OS上使用Java代码阅读的OS上有一个环境变量.我试过了System.getProperty,但这似乎只适用于-D直接为JVM提供的变量.

我的Java代码如何读取操作系统变量?

java operating-system environment-variables

8
推荐指数
1
解决办法
9976
查看次数

从Application_OnError(ASP.NET MVC)获取正确的Response.StatusCode

我正在尝试在我的ASP.NET MVC应用程序中为未处理的异常创建一些基本日志记录,但是当我使用IIS6时,所有请求都来自.NET.虽然我同意丢失的图像是标记的重要内容,但它们不是show-stoppers,所以我想将事件优先级设置为404s的高,除非它们是图像(将获得中等优先级).

问题是,在Application_OnErrorResponse.StatusCode200,但发出了最后的结果是404.为此,我似乎不能够看出来404来设置相应的优先级.

有没有办法告诉StatusCode是什么?

asp.net-mvc application-onerror http-status-codes

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

Smalltalk学习项目:有什么建议吗?

目前我正在学习Smalltalk.我这样做是因为我想在一周内尽可能多地学习一门新的编程语言,以提高我的技能.下周我会尝试其他的东西.

到目前为止,我能够阅读Smalltalk代码,但我的写作经验非常有限.您能否推荐我任何小型项目,以帮助我在短时间内更好地理解这种语言?

smalltalk

12
推荐指数
1
解决办法
1907
查看次数

C++匿名变量

为什么这不起作用?

 0. #define CONCAT(x, y) x ## y
 1. 
 2. #define VAR_LINE(x) \
 3.     int CONCAT(_anonymous, __LINE__) = x
 4. 
 5. #define VAR_LINE2(x) \
 6.     int _anonymous ## x = 1
 7.
 8. int main()
 9. {
10.     VAR_LINE(1);
11.     VAR_LINE(1);
12.     VAR_LINE(1);
13.     VAR_LINE2(__LINE__);
14. }
Run Code Online (Sandbox Code Playgroud)

上述宏观扩张的结果

int _anonymous__LINE__ = 1;
int _anonymous__LINE__ = 1;
int _anonymous__LINE__ = 1;
int _anonymous13 = 1;
Run Code Online (Sandbox Code Playgroud)

如果我不必将该__LINE__宏写为参数,那将会很方便.

我认为这个问题非常清楚.我希望能够生成匿名变量,以便在同一范围内声明多个变量时,此宏不会因重定义错误而失败.我的想法是使用预定义的__LINE__宏,因为不会像这样在同一行上声明变量.但宏观扩张困扰我,你能帮忙吗?

更新:正确答案

感谢Luc Touraille.但是,建议的解决方案存在一个小问题.操作数和##运算符之间必须有空格(显然标准说明不然,但如果运算符和操作数之间没有空格,则PS3风格的GCC不会正确扩展宏).

#define _CONCAT(x,y) x ## y
#define CONCAT(x,y) …
Run Code Online (Sandbox Code Playgroud)

c++ c-preprocessor

6
推荐指数
1
解决办法
2293
查看次数

使用bash创建缩进文本

我想以可读的方式打印列表.我使用循环遍历每个元素并创建一个用逗号和换行符格式化的新列表.问题是在输出的第一行,我想要一个标题.例如,我想打印这样的东西:

List: red, green, blue, black, cars,
      busses, ...
Run Code Online (Sandbox Code Playgroud)

问题是在第二行和后续行中创建缩进.我希望缩进具有给定的长度.因此,问题减少到创建给定长度的空行.也就是说,我想要一个create_empty_line_of_length输出给定空间量的函数.

length=5
echo "start:$(create_empty_line_of_length $length) hello"
Run Code Online (Sandbox Code Playgroud)

在这种情况下输出应该是:

start:      hello
Run Code Online (Sandbox Code Playgroud)

有谁知道如何做到这一点?

string bash

6
推荐指数
2
解决办法
5814
查看次数

OS多线程差异

我问这个问题,因为我正在调查Haiku OS(一个BeOS后代).

BeOS操作系统的目标是创建一个能够很好地处理多媒体并且响应迅速的桌面环境.他们通过创建具有"普适多线程"的内核来管理这一点.

其他操作系统(Linux,Windows等)没有这种"普遍的多线程",因此不具备响应性.(没有火焰战争......)

有人可以解释"普遍的多线程"(如BeOS/Haiku)和Windows或Linux中使用的多线程之间的(细微)差异吗?

对于不同的多线程系统,开发人员有什么影响?


我发现了一个关于BeOS Multi-threading ... BeOS Multi threading的有趣网站

multithreading operating-system haiku

6
推荐指数
1
解决办法
3064
查看次数

查看编译器扩展代码 - C++

我了解到编译器会在编译时扩展宏.模板也在编译时扩展.有没有办法看到这个扩展的代码?我正在使用Visual Studio 2008进行编译.

有什么想法吗?

c++ compiler-construction macros templates

11
推荐指数
3
解决办法
4918
查看次数

领先的零日期格式C#

我有这个功能......

private string dateConvert(string datDate)
{
        System.Globalization.CultureInfo cultEnGb = new System.Globalization.CultureInfo("en-GB");
        System.Globalization.CultureInfo cultEnUs = new System.Globalization.CultureInfo("en-US");

        DateTime dtGb = Convert.ToDateTime(datDate, cultEnGb.DateTimeFormat);
        datDate = dtGb.ToString(cultEnUs.DateTimeFormat.ShortDatePattern);

        return datDate;
}
Run Code Online (Sandbox Code Playgroud)

但是我想要它仍然在低位数(1-9)的前导零,所以日期是11-09-2009(mm-dd-yyyy)...

现在如果我没有转换它id使用string.Format("{0:d}",dateVar)我如何在转换中执行此操作?

*****解决方案*****

使用下面答案的略微修改版本(即将呈现的一个).

Convert.ToDateTime(datDate).ToString("MM-dd-yyyy");
Run Code Online (Sandbox Code Playgroud)

c# datetime

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

用于构建编译器的通用语言

受到Eric Sink对stackoverflow播客的采访的启发,我想在业余时间为学习体验构建一个完整的编译器.我最初的想法是构建一个C编译器,但我不确定它是否需要花费太多时间.

我想知道是否有一个较小的通用语言更适合作为第一个编译器工作实现?或者是在合理的时间范围内(200小时)可行的C实现?

我打算以CLR为目标.

compiler-construction

12
推荐指数
3
解决办法
1926
查看次数