Tag: C#的

C#有扩展属性吗?

C#有扩展属性吗? 例如,我可以添加一个扩展属性DateTimeFormatInfo称为ShortDateLongTimeFormat将返回ShortDatePattern + " " + LongTimePattern ?

获取std :: ifstream来处理LF,CR和CRLF?

具体来说,我对istream& getline ( istream& is, string& str );感兴趣istream& getline ( istream& is, string& str ); 。 是否有ifstream构造函数的选项来告诉它将所有换行符编码转换为“\ n”? 我希望能够调用getline ,并优雅地处理所有的行结束。 更新 :为了澄清,我希望能够编写几乎在任何地方编译的代码,并将从几乎任何地方接受input。 包括具有“\ r”但不包含“\ n”的罕见文件。 最大限度地减less软件用户的不便。 解决这个问题很容易,但是我仍然对标准中的正确方式感到好奇,以灵活地处理所有文本文件格式。 getline将整行读入一个'\ n',并转换成一个string。 '\ n'从stream中消耗,但getline不包含在string中。 到目前为止,这很好,但是在\ n之前可能会有一个'\ r'被包含到string中。 在文本文件中有三种types的结尾符号 :'\ n'是Unix机器上的传统结尾,''r'是我以前在Mac操作系统上使用的,Windows使用'\ r'接着'\ n'。 问题在于getline在string的末尾留下'\ r'。 ifstream f("a_text_file_of_unknown_origin"); string line; getline(f, line); if(!f.fail()) { // a non-empty line was read […]

模数操作与负数

在ac程序中,我正在尝试下面的操作(只是为了检查行为) x = 5 % (-3); y = (-5) % (3); z = (-5) % (-3); printf("%d ,%d ,%d", x, y, z); 给我输出(2, -2 , -2)在海湾合作委员会。 我每次都期待着一个积极的结果。 模数可以是负值吗? 有人可以解释这种行为吗?

加载自定义configuration文件

我知道我可以用静态ConfigurationManager.OpenExe(exePath)方法打开与程序集相关的configuration文件,但我只想打开一个与程序集无关的configuration。 只是一个标准的.NETconfiguration文件。

如何configuration套接字连接超时

当客户端尝试连接到断开连接的IP地址时,超过15秒的时间长度超时…我们如何减less超时? 什么是configuration它的方法? 我用来build立套接字连接的代码如下: try { m_clientSocket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse(serverIp); int iPortNo = System.Convert.ToInt16(serverPort); IPEndPoint ipEnd = new IPEndPoint(ip, iPortNo); m_clientSocket.Connect(ipEnd); if (m_clientSocket.Connected) { lb_connectStatus.Text = "Connection Established"; WaitForServerData(); } } catch (SocketException se) { lb_connectStatus.Text = "Connection Failed"; MessageBox.Show(se.Message); }

了解C#中的协变和逆变接口

我在C#上阅读的教科书中遇到过这些问题,但是由于缺乏上下文,我很难理解它们。 有一个很好的简洁的解释,他们是什么,他们在那里有什么用? 编辑澄清: 协变界面: interface IBibble<out T> . . 反变化界面: interface IBibble<in T> . .

如何将IPv4地址转换为C#中的整数?

我正在寻找一个function,将标准的IPv4地址转换为一个整数。 奖金积分可用于相反的function。 解决scheme应该在C#中。

什么是错误的cplusplus.com?

对于这个问题,这可能不是一个完美的合适的论坛,但让我试试吧,冒着被移走的危险。 有几个C ++标准库的参考资料,包括无价的ISO标准, MSDN , IBM , cppreference和cplusplus 。 就个人而言,在编写C ++时,我需要一个具有快速随机访问,快速加载时间和使用示例的参考,而且我一直在寻找cplusplus.com非常有用。 不过,我一直在这里经常听到有关该网站的消极意见,所以我想具体说明一下: cplusplus.com给出的错误,误解或不好的build议是什么? 使用它来做出编码决定有什么风险? 让我补充一点:我希望能够在这里用标准的准确报价来回答这个问题,因此我想发布立即可用的链接,而cplusplus.com本来就是我select的网站。这个问题。 更新:已经有了很多很好的回应,我已经认真地改变了我对cplusplus.com的看法。 我想在这里列出一些select结果。 随意build议更多(并保持发布答案)。 截至2011年6月29日: 一些algorithm的错误描述(例如remove )。 有关函数行为的信息有时是不正确的( atoi ),没有提到特殊情况( strncpy ),或者忽略了重要信息(迭代器失效)。 示例包含不推荐使用的代码(#include style)。 不明确的术语对学习者和普通社区(“STL”,“编译器”与“工具链”)都是有害的。 typeid关键字的错误和误导性描述。

将静态库链接到其他静态库

我有一小段代码依赖于许多静态库(a_1-a_n)。 我想将这些代码打包在一个静态库中,并将其提供给其他人。 我的静态库,让它叫X,编译好。 我创build了一个使用X函数的简单示例程序,但是当我尝试将它链接到X时,出现了许多有关从库a_1 – a_n中丢失符号的错误。 有没有一种方法可以创build一个新的静态库,Y包含X和X所需的所有function(从a_1 – a_n中select的位),这样我就可以分发Y,让人们将它们的程序链接到? 更新: 我已经看过只是倾销所有与AR和一个超级图书馆,但是,最终包括了很多不需要的符号(所有.o文件大约700 MB,但是,一个静态链接的可执行文件是7 MB)。 有没有一种很好的方法来只包含实际需要的东西? 这看起来与如何将几个C / C ++库合并为一个密切相关? 。

typedef和#define在c中是一样的吗?

我不知道typedef和#define在c中是一样的吗?