Tag: .net

在针对.NET 2.0时使用(某些)lambda表达式?

ReSharper建议我们改变: System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; 成: System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; 它看起来更清洁。 但我们的目标是.NET 2.0。 这还是我们应该做的吗?

将int转换为BCD字节数组

我想使用BCD将int转换为byte [2]数组。 有问题的int将来自表示Year的DateTime,必须转换为两个字节。 是否有任何预制function可以做到这一点,或者你能给我一个简单的方法吗? 例: int year = 2010 输出: byte[2]{0x20, 0x10};

在C#中更快地反转图像

我正在使用WinForms。 我的表格中有一个图片框。 当我在图片框中打开图片时,我可以通过点击按钮来回反转颜色,但我的代码非常慢。 如何提高性能。 private void Button1_Click(object sender, System.EventArgs e) { Bitmap pic = new Bitmap(PictureBox1.Image); for (int y = 0; (y <= (pic.Height – 1)); y++) { for (int x = 0; (x <= (pic.Width – 1)); x++) { Color inv = pic.GetPixel(x, y); inv = Color.FromArgb(255, (255 – inv.R), (255 – inv.G), (255 […]

按多个字段对集合进行排序

我需要对一个集合进行排序。 例如,我有 Austin 12/3/2012 Sam 100 12/3/2012 Sam 200 14/3/2012 Bubly 300 12/3/2012 Bubly 300 15/3/2012 ram 100 13/3/2012 现在如果排序顺序是Name,则datetime然后输出 Austin 12/3/2012 Bubly 12/3/2012 Bubly 15/3/2012 ram 13/3/2012 sam 12/3/2012 sam 14/3/2012 如果他排序顺序是Datetime,那么它应该是 12/3/2012 austin 12/3/2012 bubly 12/3/2012 sam 13/3/2012 ram 14/3/2012 sam 15/3/2012 bubly 因此对于其他项目。 我该怎么做呢 ? 如何使用列的顺序进行排序。

程序自动化表单字段输入和网页结果检查

我正在尝试使用C#(可能使用WinForms)创建一个程序,该程序将在特定网站的表单字段中输入许可证号,并validation许可证号是否是当前有效的许可证。 我不确定从哪里开始,因为我甚至无法在网站的源代码中找到表单字段ID,并且不确定网站使用什么技术。 此外,该程序的目的是输入许可证号列表并返回每个许可证的名称和validation状态。 数据源是网站。 关于如何解决这个问题的任何信息都将非常感激,我是一名中级C#开发人员 – 主要在ASP.Net工作,但感觉Winforms可能更适合这个项目。 亲切的问候

Log4NET AdoNetAppender连接字符串参考

我想使用Log4NET登录我的数据库并按照一些教程我看到我必须为DAO appender配置连接字符串。 我的web.config中已经有一个用于数据库连接的连接字符串,所以我想知道我是否可以引用它而不是设置一个新的连接字符串。 我通常会更改连接字符串以从dev DB切换到生产DB,因此共享相同的连接参数可能非常有用。

控制台应用程序中的FileVersionInfo.GetVersionInfo()不正确

我使用FileVersionInfo.GetVersionInfo()得到了一些严重的怪异,并希望有人可以提供帮助。 问题的基础是我正在遍历每个文件夹中调用GetVersionInfo()的所有文件。 大约有300个文件。 这适用于除2个文件之外的所有文件。 对于这些DLL,我从GetVersionInfo()得到了完全不正确的信息。 为了消除所有其他变量,我将此调用提取到一个简单的测试应用程序中,它仍然遇到了同样的问题。 但是,如果我将测试应用程序构建为Windows应用程序(最初是控制台应用程序),那么数据会恢复正常。 只是为了澄清一下,当作为控制台应用程序运行时返回的不正确数据不仅仅是如果文件不包含版本数据就会得到的空信息。 它包含合理的数据,但只包含错误的数据。 就好像是从不同的文件中读取它一样。 我找了一个包含匹配版本数据的文件,但找不到。 如果构建为控制台应用程序而不是Windows应用程序,为什么这个简单的调用function会不同? 如果有人可以帮助我,我将非常感激。 安德,安迪 – 已添加代码 using System; using System.Diagnostics; namespace test { class Program { static void Main(string[] args) { string file = “C:\\ProblemFile.dll”; FileVersionInfo version = FileVersionInfo.GetVersionInfo(file); string fileName = version.FileName; string fileVersion = version.FileVersion; Console.WriteLine(string.Format(“{0} : {1}”, fileName, fileVersion)); } } }

.NET Dictionary实现如何与可变对象一起使用

我知道不建议使用“可变”对象(GetHashCode()方法在将它们用作Dictionary中的键时可以返回不同结果的对象)。 下面是我对作为哈希表实现的字典如何工作的理解: 当我添加新密钥时,例如dict.Add(m1, “initially here was m1 object”); , dict使用GetHashCode()方法计算m1的哈希码。 然后它进行一些内部计算,最后将此对象放入其内部数组的某个位置。 当我使用键索引来获取值时,例如dict[m1] , dict再次计算哈希码。 然后它做了一些内部计算,它给了我一个对象,它位于其内部数组内部的计算位置。 但我认为有一个我无法找到的错误。 所以我们假设我有这个代码: class MutableObject { Int32 m_value; public MutableObject(Int32 value) { m_value = value; } public void Mutate(Int32 value) { m_value = value; } public override int GetHashCode() { return m_value; } } static void Main(string[] args) { MutableObject m1 […]

你能省略没有参数的属性的括号吗?

我注意到当我有[Serializable]而不是[Serializable()] ,代码仍然编译。 有没有规则可以省略括号? 这是一个好习惯吗? 除非我遗漏了什么,否则它对我来说似乎更具可读性。

Convert和Parse有什么区别?

我可以编写以下内容将对象转换为整数。 Convert.ToInt32(myObject); 但我也可以写 Int.Parse(myObject.ToString()); 有什么区别吗? 我应该使用哪一个? 提前致谢。