小编Azo*_*ous的帖子

静态变量初始化

今天我与同事讨论并得出以下几点.如果一切正确或需要进行一些修改,请注意点亮.

  1. 如果未在类中定义静态构造函数,则在使用静态字段之前对其进行初始化.
  2. 当在类中定义静态构造函数时,静态字段在其使用之前或作为(之前)实例创建的一部分初始化.
  3. 如果在静态方法中没有访问静态字段,则调用静态方法.只有在该类中定义了静态构造函数时,才会初始化静态字段.
  4. 如果可能的话,应该避免在类中使用静态构造函数.

c# static initialization

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

Thread和ThreadStart

以下两行都相同.但是有什么隐藏的区别吗?应该首选哪一个?

Thread t1 = new Thread(aMethod);

Thread t2 = new Thread(new ThreadStart(aMethod));
Run Code Online (Sandbox Code Playgroud)

谢谢.

.net c# multithreading

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

两个编译器的一个makefile

我有两个makefile,用于本机和交叉编译.它们之间唯一的区别是编译器名称:

# makefile
CC = g++
...
# makefile-cc
CC = arm-linux-gnueabihf-g++
...

为了进行本机编译,我执行make,进行交叉编译,我执行make -f makefile-cc.我希望有一个makefile,应该使用make本机编译执行,并make cross进行交叉编译.这样做的正确语法是什么,例如:

# makefile (C-like pseudo-code)
if cross
    CC = arm-linux-gnueabihf-g++
else
    CC = g++

c c++ g++ cross-compiling gnu-make

11
推荐指数
2
解决办法
4262
查看次数

基类与实用类

应该首选哪两个?

有一些方法由A,B和C类调用.

这些方法是否应该封装在D类(A,B和C的基础)中?

要么

如果将这些方法封装在类U和其他类创建中,则它的对象是根据需要使用这些方法.

在什么基础上应该做出决定?

谢谢.

c# java derived base

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

为什么GMT和UTC时区没有相同的规则

为什么下线打印错误?我认为它应该打印成真.

TimeZone.getTimeZone("UTC+5:30").hasSameRules(TimeZone.getTimeZone("GMT+5:30")
Run Code Online (Sandbox Code Playgroud)

java timezone

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

如何配置ManualResetEvent

嗨当我使用以下代码时:

 myManualResetEvent.Dispose();
Run Code Online (Sandbox Code Playgroud)

编译器给出了这个错误:

 'System.Threading.WaitHandle.Dispose(bool)' is inaccessible due to its protection level.
Run Code Online (Sandbox Code Playgroud)

然后以下行正常工作:

 ((IDisposable)myManualResetEvent).Dispose();
Run Code Online (Sandbox Code Playgroud)

它是正确的处理方式,或者在运行时它可能会在某些场景中崩溃.

谢谢.

c# multithreading dispose idisposable .net-4.0

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

继承层次结构:构造函数和析构函数执行序列

这里http://www.parashift.com/c++-faq-lite/multiple-inheritance.html节[25.14]说:

要执行的第一个构造函数是层次结构中任何位置的虚拟基类.

我尝试使用以下程序验证它:

           A (pure virtual)
           |
           B
           |
           C
(virtual)/   \ (virtual)
       E       D
         \   /
           F
           |
           G (pure virtual)
           |
           H
Run Code Online (Sandbox Code Playgroud)

每个班级都有一个c'tor和virtual d'tor.输出如下:

A
B
C
E
D
F
G
H
~H
~G
~F
~D
~E
~C
~B
~A
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

但根据引用,应首先执行虚拟基类构造函数.

我做错了什么?

编辑:要清除我的问题,根据我的理解,这种行为与基类是否是虚拟无关.但引用坚持Virtual Base类.我清楚还是有什么可疑的?

谢谢.

c++ inheritance constructor destructor

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

使用 MOQ 在模拟上查找方法设置

有没有办法在 Mock 上列出所有模拟方法(设置)?

可以说,我创建模拟如下:

Mock<IAnInterface> aMock = new Mock<IAnInterface>();
aMock.Setup(am => am.Execute()).Returns(true);
Run Code Online (Sandbox Code Playgroud)

现在,我需要查找是否Execute已设置aMock

c# moq

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

如何在java中为sudo命令提供密码

Process p=Runtime.getRuntime().exec("sudo rm -rf /home/ftp");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
bw.write("qwerty");
bw.flush();
Run Code Online (Sandbox Code Playgroud)

我已经编写了这段代码,但它不起作用

java

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

如何在java中获取任何文件的EOL字符

我试图找到EOL一个文件的字符.我尝试了以下代码段:

java.io.FileInputStream inputStream = null;  
inputStream=new java.io.FileInputStream (inputFile.trim());
java.util.Properties p = new java.util.Properties(System.getProperties());  
p.load(inputStream);  
System.setProperties(p);  
String lineSeperator=System.getProperties().getProperty("line.separator");  
System.out.println("--"+lineSeperator);
Run Code Online (Sandbox Code Playgroud)

我得到的结果总是\r\n,即使我正在阅读一个Linux发起的文件,其中分隔符应该是\n.

我究竟做错了什么 ?

java file-io

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