zoukankan      html  css  js  c++  java
  • 《编写高质量代码:改善C#程序的157个建议》勘误表

    《编写高质量代码:改善C#程序的157个建议》中关于勘误的描述:

    资源及勘误

    通常情况下,一个问题的解决方案往往不止一种,你可能会不同意本书中的一些观点,甚至会强烈反对。没有关系,你可以通过luminji@hotmail.com(E-mail)与我分享你的宝贵意见,同时也可以在http://www.cnblogs.com/luminji下载书中的源码。我也经常在那里发表博客。当然,你一定也会在书中找到一些错误,我已经在博客上放置了一篇勘误表,我会在第一时间公布这些勘误。

     

    以下是勘误部分:

    1:44

    原:

                int[] iArr = { 0, 1, 2, 3, 4, 5, 6 };
                ArrayList arrayListInt = ArrayList.Adapter(iArr);
                arrayListInt.Add(7);

    修改为:

                int[] iArr = { 0, 1, 2, 3, 4, 5, 6 };
                ArrayList arrayListInt = new ArrayList(iArr);
                arrayListInt.Add(7);

    2:P178

    textBoxPage.Text = content;

    修改为:

                    if (textBoxPage.InvokeRequired)
    textBoxPage.BeginInvoke(new Action(() =>
    {
    textBoxPage.Text = content;
    }));
    else
    textBoxPage.Text = content;

    3:P279

    不支持中文加解密

            public static string EncryptString(string input, string password)
            {
                using (MemoryStream memoryStream = new MemoryStream())
                using (SymmetricAlgorithm algorithm = CreateRijndael(password, salt))
                {
                    algorithm.IV = iv;
                    using (CryptoStream cryptoStream = new CryptoStream(memoryStream, algorithm.CreateEncryptor(), CryptoStreamMode.Write))
                    {
                        byte[] bytes = System.Text.Encoding.UTF32.GetBytes(input);
                        cryptoStream.Write(bytes, 0, bytes.Length);
                        cryptoStream.Flush();
                    }
                    return Convert.ToBase64String(memoryStream.ToArray());
                }
            }
    
            public static string DecryptString(string input, string password)
            {
                using (MemoryStream memoryStream = new MemoryStream(Convert.FromBase64String(input)))
                using (SymmetricAlgorithm algorithm = CreateRijndael(password, salt))
                {
                    algorithm.IV = iv;
                    using (CryptoStream cryptoStream = new CryptoStream(memoryStream, algorithm.CreateDecryptor(), CryptoStreamMode.Read))
                    {
                        StreamReader sr = new StreamReader(cryptoStream, System.Text.Encoding.UTF32);
                        return sr.ReadToEnd();
                    }
                }
            }
    Creative Commons License本文基于Creative Commons Attribution 2.5 China Mainland License发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名http://www.cnblogs.com/luminji(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
  • 相关阅读:
    HDU 1042 N!
    linux上安装wps办公软件
    《UNIX环境高级编程》笔记--环境变量
    【StatLearn】统计学习中knn算法实验(2)
    Asp.Net验证控件浅析
    斜率小于0的连线数量-归并排序
    Printk与sched_clock_init的一点分析
    【数字图像处理】使用kmeans算法对TrueColor图片进行优化
    将 Shiro 作为应用的权限基础 三:基于注解实现的授权认证过程
    python中os/sys/platform模块区别
  • 原文地址:https://www.cnblogs.com/luminji/p/2182260.html
Copyright © 2011-2022 走看看