小编Cub*_*i73的帖子

指数运算符

我发现,我可以写1E51e5代替100000.有没有办法使用这个运算符/方法/变量的东西?我知道我可以使用Math.Pow(10, 5);,但我想知道这是否E适用于变量.

c# variables exponent

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

DllRegisterServer的使用

DllRegisterServer当 Windows 或 OLE 希望我在HKEY_CLASSES_ROOT\CLSID. 但我不明白为什么必须实现这个函数,因为当 Windows/OLE 可以调用我的 DLL 时,我的类已经注册了它们的 CLSID 和正确 DLL 的路径。有人可以告诉我,我误会了什么吗?

com dllregistration

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

`LOCK_EX` 禁止读,但不写?

为什么我无法读取用 锁定的文件 LOCK_EX我仍然可以写信给它。

我想知道,如果一个进程锁定一个文件(使用LOCK_SHLOCK_EX)而另一个进程尝试读取该文件或写入该文件,但完全忽略该锁定,会发生什么。所以我制作了一个具有 3 个功能的小脚本:

  • 锁定:打开目标文件,写入它,锁定文件(使用指定的锁),再次写入,休眠 10 秒,解锁并关闭它。
  • 读取:打开目标文件,从中读取并关闭它。
  • 写入:打开目标文件,写入并关闭它。

我通过并排放置两个控制台并执行以下操作来测试它:

FIRST CONSOLE                |        SECOND CONSOLE
-----------------------------+-----------------------
php test lock LOCK_SH        |        php test read
php test lock LOCK_SH        |        php test write
php test lock LOCK_EX        |        php test read
php test lock LOCK_EX        |        php test write
Run Code Online (Sandbox Code Playgroud)

LOCK_SH似乎根本没有影响,因为第一个进程和第二个进程都可以读写文件。如果文件被LOCK_EX第一个进程锁定,两个进程仍然可以写入它,但只有第一个进程可以读取。这背后有什么道理吗?

这是我的小测试程序(在Windows 7 Home Premium 64 位上测试):

<?php
    // USAGE: php test [lock | read | write] [LOCK_SH | …
Run Code Online (Sandbox Code Playgroud)

php flock

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

价值分配的捷径

我有一个简单的值赋值,它检查新值是否为空:

string newVal;
string val = (newVal = Console.ReadLine()) != "" ? newVal : "Default";
Run Code Online (Sandbox Code Playgroud)

是否有更短的方法来实现相同的结果?

c# shortcut variable-assignment

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