Tag: C#的

VB.NET等效于C#“dynamic”与选项严格打开

在使用types安全的VB.NET(即使用Option Strict On时,是否存在与C#4“dynamic”关键字等效的内容?

为什么没有std :: shared_ptr <T >专精?

该标准提供了std::unique_ptr的模板专门化,它从析构函数中正确地调用了delete[] : void func() { std::unique_ptr< int[] > arr(new int[10]); ……. } 使用std::shared_ptr这个专门化是不可用的,所以有必要提供一个正确调用delete[] : void func() { // Usage shared_ptr array (new double [256], [](double* arr) { delete [] arr; } ); ………….. } 这只是一个疏忽吗? (以同样的方式,有一个std::copy_if )或有一个原因?

为什么SDL定义主macros?

在设置SDL时遇到了一些麻烦,我发现SDL定义了一个替代main的macros: #define main SDL_main // And then extern C_LINKAGE int SDL_main(int argc, char *argv[]); 如果main函数没有定义argc和argv参数,这也会产生编译错误。 这个macros只是当我看到它的时候让我头痛…为什么SDL需要重新定义main? 经过一番search之后,我发现一些人#undef main ,并以正常的方式使用它。 所以这是一个问题: SDL为什么需要重新定义main,它是做什么的? 是否有任何副作用来定义它? 我注意到的一件事是,SDLredirect到文件的标准输出和错误(我不希望这种行为),这种行为停止,如果我取消定义主。

如何从不使用XElement的自定义XML序列化/反序列化到`Dictionary <int,string>`?

有空的Dictionary<int, string>如何用XML中的键和值填充它 <items> <item id='int_goes_here' value='string_goes_here'/> </items> 并将其序列化为不使用XElement的XML?

如何检索在.NET中login/连接的用户列表?

这是一个场景: 您有一个用户可以通过RDP远程连接的Windows服务器。 您希望您的程序(作为服务运行)知道当前连接的人员。 这可能包括也可能不包括交互式控制台会话。 请注意,这与检索当前的交互式用户并不相同。 我猜测,有terminal服务的某种API访问来获取此信息?

将文件读入std :: vector <char>的有效方法?

我想避免不必要的副本。 我正在瞄准的东西: std::ifstream testFile( "testfile", "rb" ); std::vector<char> fileContents; int fileSize = getFileSize( testFile ); fileContents.reserve( fileSize ); testFile.read( &fileContents[0], fileSize ); (这不起作用,因为reserve实际上并没有插入任何东西,所以我不能访问[0] )。 当然, std::vector<char> fileContents(fileSize)可以工作,但是初始化所有元素会有开销( fileSize可能比较大)。 相同的resize() 。 这个问题并不那么重要,这将是开销。 相反,我只是想知道是否有另一种方式。

类中的“不完全types”,它具有与类本身types相同的成员

我有一个class级,应该有一个class级的私人成员,像这样: class A { private: A member; } 但它告诉我,成员是一个不完整的types。 为什么? 它不告诉我不完整的types,如果我使用一个指针,但我宁愿不使用指针。 任何帮助表示赞赏

为什么扩展方法只允许在非嵌套的非generics静态类中使用?

为什么扩展方法只允许在非嵌套的非generics静态类中使用? 在嵌套generics静态类中考虑扩展方法是无用的吗?

XmlDocument.SelectSingleNode和xmlNamespace问题

我将一个string加载到包含以下结构的XML文档中: <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <Compile Include="clsWorker.cs" /> </ItemGroup> </Project> 然后im全部加载到xmldocument: XmlDocument xmldoc = new XmlDocument(); xmldoc.LoadXml(Xml); 那么会出现以下问题: XmlNode Node = xmldoc.SelectSingleNode("//Compile"); // return null 当我从根元素(项目)中删除xmlns属性工作正常,我怎么能改善我的SelectSingleNode返回相关的元素?

“&s ”是否指向std :: string中的连续字符?

我正在做一些维护工作,碰到类似下面的东西: std::string s; s.resize( strLength ); // strLength is a size_t with the length of a C string in it. memcpy( &s[0], str, strLength ); 我知道使用&s [0]是安全的,如果它是一个std :: vector,但这是一个安全使用std :: string?