Tag: C#的

strptime()相当于Windows?

是否有可用于Windows的strptime()等效实现? 不幸的是,这个POSIX函数似乎不可用。 打开strptime的组描述 – 摘要:它将文本string(如"MM-DD-YYYY HH:MM:SS"转换为tm struct ,与strftime()相反。

在使用File.Create()后,另一个进程正在使用的文件

我试图检测一个文件是否存在运行时,如果没有,创build它。 不过,当我尝试写入该错误时,出现此错误: 该进程无法访问文件“myfile.ext”,因为正在被另一个进程使用。 string filePath = string.Format(@"{0}\M{1}.dat", ConfigurationManager.AppSettings["DirectoryPath"], costCentre); if (!File.Exists(filePath)) { File.Create(filePath); } using (StreamWriter sw = File.AppendText(filePath)) { //write my text } 任何想法如何解决它?

如何转换字节数组中的图像

任何人都可以build议如何可以将图像转换为字节数组,反之亦然。 如果有人有一些代码样本帮助我。 我正在开发一个WPF应用程序,并启用findstream阅读器。

如果a没有被初始化,是a a还是aa未定义的行为?

考虑这个程序: #include <stdio.h> int main(void) { unsigned int a; printf("%u %u\n", a^a, aa); return 0; } 它是不确定的行为? 从表面上看, a是一个未初始化的variables。 所以这指向未定义的行为。 但是a^a和aa对于aa的所有值都等于0 ,至less我认为是这样的。 有没有可能有某种方式来争辩这种行为是有明确定义的?

临时工的生命周期

下面的代码工作正常,但为什么这是正确的代码? 为什么foo()返回的临时的“c_str()”指针有效? 我想,当进入bar()时,这个临时文件已经被破坏 – 但是它似乎不是这样的。 所以,现在我假设由foo()返回的临时文件在调用bar()之后会被销毁 – 这是正确的吗? 为什么? std::string foo() { std::string out = something…; return out; } void bar( const char* ccp ) { // do something with the string.. } bar( foo().c_str() );

为什么具有相同名称但签名不同的多inheritance函数不被视为重载函数?

下面的代码片段在编译过程中会产生一个“非法调用foo”的错误,我想知道是否有任何方法解决这个问题,而没有完全限定对foo的调用: #include <iostream> struct Base1{ void foo(int){ } }; struct Base2{ void foo(float){ } }; struct Derived : public Base1, public Base2{ }; int main(){ Derived d; d.foo(5); std::cin.get(); return 0; } 所以问题就像标题所说的那样。 想法? 我的意思是,以下作品完美无瑕: #include <iostream> struct Base{ void foo(int){ } }; struct Derived : public Base{ void foo(float){ } }; int main(){ Derived […]

关联文件扩展名和应用程序

我编写了一个编辑特定文件types的程序,我想让用户select将我的应用程序设置为此文件types的默认编辑器(因为我不需要安装程序)。 我试着编写一个可重用的方法,通过向HKEY_CLASSES_ROOT添加一个密钥,并将其与我的应用程序一起使用,为我(最好在任何操作系统上,尽pipe我正在运行Vista)关联一个文件,但它不似乎工作。 public static void SetAssociation(string Extension, string KeyName, string OpenWith, string FileDescription) { RegistryKey BaseKey; RegistryKey OpenMethod; RegistryKey Shell; RegistryKey CurrentUser; BaseKey = Registry.ClassesRoot.CreateSubKey(Extension); BaseKey.SetValue("", KeyName); OpenMethod = Registry.ClassesRoot.CreateSubKey(KeyName); OpenMethod.SetValue("", FileDescription); OpenMethod.CreateSubKey("DefaultIcon").SetValue("", "\"" + OpenWith + "\",0"); Shell = OpenMethod.CreateSubKey("Shell"); Shell.CreateSubKey("edit").CreateSubKey("command").SetValue("", "\"" + OpenWith + "\"" + " \"%1\""); Shell.CreateSubKey("open").CreateSubKey("command").SetValue("", "\"" + OpenWith + […]

删除常规数组的元素

我有一个Foo对象的数组。 如何删除数组的第二个元素? 我需要类似于RemoveAt()东西,但对于一个普通的数组。

如何通过C#中的进程获取打开文件句柄的列表?

如何通过C#中的进程ID获取打开文件句柄的列表? 我有兴趣挖掘并获取文件名。 寻找程序浏览器的程序化等价物。 这很可能需要互操作。 考虑到增加一个赏金,这个实现是非常复杂的。

null和System.DBNull.Value有什么区别?

null和System.DBNull.Value之间是否有区别? 如果是,那是什么? 我现在注意到了这种行为 – while (rdr.Read()) { if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value) { int x = Convert.ToInt32(rdr["Id"]); } } 尽pipe我使用sql datareader从数据库中检索数据,但是if(rdr["Id"] != null)返回true并且最终抛出了一个用于将null转换为整数的exception,则没有返回值。 但是,如果我使用if (rdr["Id"] != System.DBNull.Value)返回false 。 null和System.DBNull.Value有什么区别?