Tag: C#的

检查NameValueCollection中是否存在关键字

有没有一种快速简单的方法来检查一个键是否存在于一个NameValueCollection没有循环通过它? 寻找像Dictionary.ContainsKey()或类似的东西。 当然有很多方法可以解决这个问题。 只是想知道如果有人可以帮助我的头脑痒。

有什么情况下最好使用一个普通的旧的Thread对象而不是一个新的构造?

我在博客文章中看到很多人,在这里SO或者避免或者build议不要使用最近版本的C#中的Thread类(我的意思是当然是4.0+,加上Task和朋友)。 甚至在之前,有一个争论是,在很多情况下, ThreadPool类可以replace一个普通的旧线程的function。 此外,其他专门的机制进一步使Thread类不那么吸引人,比如Timer代替丑陋的Thread + Sleep组合,而在GUI中我们有BackgroundWorker等等。 尽pipe如此, Thread对于一些人(包括我自己)来说似乎仍然是一个非常熟悉的概念,当面对涉及某种并行执行的任务时,直接跳转到使用旧的Thread类。 我最近一直在想如果是时候修改我的方式了。 所以我的问题是,是否有任何情况下使用一个普通的旧的Thread对象,而不是上述构造之一是必要的或有用的?

成员'<method>'不能用实例引用访问

我正在进入C#,我有这个问题: namespace MyDataLayer { namespace Section1 { public class MyClass { public class MyItem { public static string Property1{ get; set; } } public static MyItem GetItem() { MyItem theItem = new MyItem(); theItem.Property1 = "MyValue"; return theItem; } } } } 我在UserControl上有这样的代码: using MyDataLayer.Section1; public class MyClass { protected void MyMethod { MyClass.MyItem oItem […]

如何从.net中的IEnumerable <T>获取第一个元素?

我经常想抓取.net中IEnumerable<T>的第一个元素,但是我还没有find一个好办法。 我想到的最好的是: foreach(Elem e in enumerable) { // do something with e break; } 呸! 那么,有没有一个很好的方法来做到这一点?

C数据types如何“被大多数计算机直接支持”?

我正在阅读K&R的“C语言程序devise语言”,并接触到了这个陈述[Introduction, 3]: 由于C提供的数据types和控制结构是大多数计算机直接支持的 ,因此实现自包含程序所需的运行时库很小。 粗体的陈述是什么意思? 有没有一个数据types或控制结构的例子, 不被计算机直接支持?

如何将SecureString转换为System.String?

所有关于通过创build一个System.String来取消安全SecureString的保留 ,如何完成? 如何将一个普通的System.Security.SecureString转换为System.String? 我相信很多熟悉SecureString的人都会回应说,绝对不应该将SecureString转换为普通的.NETstring,因为它会去除所有的安全保护。 我知道 但是现在我的程序用普通的string来处理所有事情,而且我正在尝试增强它的安全性,尽pipe我将要使用一个返回SecureString的API,我并不想用它来提高我的安全性。 我知道Marshal.SecureStringToBSTR,但我不知道如何把BSTR,并使一个System.String出它。 对于那些可能要求知道为什么我会想要这样做的人,那么,我正在从用户那里获取一个密码,并将其提交为HTML表单POST,以将用户login到网站。 所以…这确实需要使用托pipe的,未encryption的缓冲区来完成。 如果我甚至可以访问非托pipe的,未encryption的缓冲区,我想我可以在networkingstream上逐字节地写数据stream,并希望能够保证整个密码的安全。 我希望至less有一个这样的情况的答案。

在运行时可以检测到C ++ 03和C ++ 11之间有什么区别?

可以编写一个函数,当使用C编译器编译时,它将返回0,当使用C ++编译器编译时,函数将返回1(使用#ifdef __cplusplus的平凡的#ifdef __cplusplus不是很有趣)。 例如: int isCPP() { return sizeof(char) == sizeof 'c'; } 当然,只有当sizeof (char)和sizeof (int)不一样时, 另一个更便携的解决scheme是这样的: int isCPP() { typedef int T; { struct T { int a[2]; }; return sizeof(T) == sizeof(struct T); } } 我不确定这些例子是否100%正确,但是你明白了。 我相信还有其他的方法来编写相同的function。 在运行时可以检测到C ++ 03和C ++ 11之间有什么区别? 换句话说,是否有可能编写一个类似的函数,它会返回一个布尔值,表示它是否由符合的C ++ 03编译器或C ++ 11编译器编译? bool isCpp11() { //??? }

获取远程主机的IP地址

在ASP.NET中有一个System.Web.HttpRequest类,它包含ServerVariables属性,它可以为我们提供REMOTE_ADDR属性值的IP地址。 但是,我找不到从ASP.NET Web API获取远程主机的IP地址的类似方法。 如何获取发出请求的远程主机的IP地址?

当表单加载时如何把焦点放在TextBox上?

我有我的C#程序文本框 当程序启动的时候,我需要把焦点放在文本框上 我在Form_Load上试试这个: MyTextBox.Focus(); 但它不会工作

LINQPad 方法

有没有人有LINQPad扩展方法和方法的完整列表,如 .Dump() SubmitChanges()