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(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
  • 相关阅读:
    HTB-靶机-Charon
    第一篇Active Directory疑难解答概述(1)
    Outlook Web App 客户端超时设置
    【Troubleshooting Case】Exchange Server 组件状态应用排错?
    【Troubleshooting Case】Unable to delete Exchange database?
    Exchange Server 2007的即将生命周期,您的计划是?
    "the hypervisor is not running" 故障
    Exchange 2016 体系结构
    USB PE
    10 months then free? 10个月,然后自由
  • 原文地址:https://www.cnblogs.com/luminji/p/2182260.html
Copyright © 2011-2022 走看看