我发现,我可以写1E5或1e5代替100000.有没有办法使用这个运算符/方法/变量的东西?我知道我可以使用Math.Pow(10, 5);,但我想知道这是否E适用于变量.
DllRegisterServer当 Windows 或 OLE 希望我在HKEY_CLASSES_ROOT\CLSID. 但我不明白为什么必须实现这个函数,因为当 Windows/OLE 可以调用我的 DLL 时,我的类已经注册了它们的 CLSID 和正确 DLL 的路径。有人可以告诉我,我误会了什么吗?
为什么我无法读取用 锁定的文件 LOCK_EX?我仍然可以写信给它。
我想知道,如果一个进程锁定一个文件(使用LOCK_SH或LOCK_EX)而另一个进程尝试读取该文件或写入该文件,但完全忽略该锁定,会发生什么。所以我制作了一个具有 3 个功能的小脚本:
我通过并排放置两个控制台并执行以下操作来测试它:
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) 我有一个简单的值赋值,它检查新值是否为空:
string newVal;
string val = (newVal = Console.ReadLine()) != "" ? newVal : "Default";
Run Code Online (Sandbox Code Playgroud)
是否有更短的方法来实现相同的结果?