Tag: C#的

显式赋值为null

string s1; string s2 = null; if (s1 == null) // compile error if (s2 == null) // ok 我不明白为什么需要明确的任务。 什么是一个空variables和一个未分配的variables之间的区别? 我始终认为,未分配的variables无论如何都被运行时/编译器简单地分配为空。 如果它们不是零,那么它们是什么?

如何获取HttpWebRequest.GetResponse()失败时的错误信息

我正在启动一个HttpWebRequest,然后检索它的响应。 偶尔,我得到一个500(或至less5个##)的错误,但没有说明。 我可以控制两个端点,并希望接收端获得更多信息。 例如,我想将exception消息从服务器传递给客户端。 这可能使用HttpWebRequest和HttpWebResponse? 码: try { HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest; webRequest.Method = WebRequestMethods.Http.Get; webRequest.Credentials = new NetworkCredential(Username, Password); webRequest.ContentType = "application/x-www-form-urlencoded"; using(HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse) { if(response.StatusCode == HttpStatusCode.OK) { // Do stuff with response.GetResponseStream(); } } } catch(Exception ex) { ShowError(ex); // if the server returns a 500 […]

结构向量的初始化

我想知道如何使用push_back方法将值添加到结构向量中 struct subject { string name; int marks; int credits; }; vector<subject> sub; 那么现在如何添加元素呢? 我有函数初始化string名称(主题名称) void setName(string s1, string s2, …… string s6) { // how can i set name too sub[0].name= "english", sub[1].name = "math" etc sub[0].name = s1 // gives segmentation fault; so how do I use push_back method? sub.name.push_back(s1); sub.name.push_back(s2); sub.name.push_back(s3); sub.name.push_back(s4); […]

无法加载文件或程序集“Microsoft.CodeAnalysis,版本= 1.3.1.0,文化=中立,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一

昨天晚上发生了一个更新,现在我发现自己无法做一个Ctrl +'。 在VS 2015中的代码build议。出现错误消息说: 无法加载文件或程序集“Microsoft.CodeAnalysis,版本= 1.3.1.0,文化=中立,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。 该系统找不到指定的文件。 我仍然可以构build和开发,但是如果没有这个特性,这将会非常烦人。 我承认,我越来越软! 任何人有build议修复这个错误?

如何使用macros参数作为string文字?

我想弄清楚如何编写一个macros,将一个variables名称的string文字表示与variables本身一起传递给一个函数。 例如给出以下function。 void do_something(string name, int val) { cout << name << ": " << val << endl; } 我想写一个macros,所以我可以这样做: int my_val = 5; CALL_DO_SOMETHING(my_val); 哪个会打印出来: my_val: 5 我尝试了以下操作: #define CALL_DO_SOMETHING(VAR) do_something("VAR", VAR); 但是,正如您可能猜到的那样,引号内的VAR不会被replace,而只是以string文字“VAR”的forms传递。 所以我想知道是否有办法将macros参数变成一个string本身。

奇怪的std :: map行为

以下testing程序 #include <map> #include <iostream> using namespace std; int main(int argc, char **argv) { map<int,int> a; a[1]=a.size(); for(map<int,int>::const_iterator it=a.begin(); it!=a.end(); ++it) cout << "first " << (*it).first << " second " << (*it).second << endl; } 在g++ 4.8.1 (Ubuntu 12.04 LTS)上编译时会导致不同的输出: g++ xxx.cpp ./a.out first 1 second 1 和Visual Studio 2012(Windows 7)(标准Win32控制台应用程序项目)上: ConsoleApplication1.exe first 1 […]

CRC32 C或C ++实现

我正在寻找C或C ++的CRC32的实施,这是明确许可的,因为没有成本或公共领域。 这里的实现看起来不错,但是关于许可证的唯一的东西是“源代码”,这不够好。 我宁愿非LGPL,所以我不必愚弄一个DLL(我的应用程序是封闭的源代码)。 我在zlib中看到了adler32实现,但是我正在检查那些adler不适合的小块数据。

转换List(of object)到List(of string)

有没有办法转换List(of Object)到List(of String)在c#或vb.net没有迭代所有的项目? (幕后的迭代很好 – 我只是想简洁的代码) 更新:最好的方法可能只是做一个新的select myList.Select(function(i) i.ToString()) 要么 myList.Select(i => i.ToString());

如何在C ++中重载一元减运算符?

我正在实现vector类,我需要得到一个向量的相反。 有没有可能使用运算符重载来定义这个方法? 这是我的意思: Vector2f vector1 = -vector2; 以下是我希望这个操作员完成的事情: Vector2f& oppositeVector(const Vector2f &_vector) { x = -_vector.getX(); y = -_vector.getY(); return *this; } 谢谢。

std :: shared_ptr这个

我目前正在学习如何使用智能指针。 然而,在做一些实验时,我发现了以下的情况,我找不到一个可喜的解决scheme: 假设你有一个A类的对象,它是B类对象(孩子)的父对象,但两者都应该相互认识: class A; class B; class A { public: void addChild(std::shared_ptr<B> child) { children->push_back(child); // How to do pass the pointer correctly? // child->setParent(this); // wrong // ^^^^ } private: std::list<std::shared_ptr<B>> children; }; class B { public: setParent(std::shared_ptr<A> parent) { this->parent = parent; }; private: std::shared_ptr<A> parent; }; 问题是一个类A的对象如何将一个std::shared_ptr自身( this )传递给它的subprocess呢? 有一些Boost共享指针的解决scheme( 获取一个boost::shared_ptr […]