ClassLibraryWeiBao/QR二维码/DataEncodation/ECISet.cs

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;

namespace Gma.QrCodeNet.Encoding.DataEncodation
{
    public sealed class ECISet
    {
        private Dictionary<string, int> s_NameToValue;
        private Dictionary<int, string> s_ValueToName;

        public enum AppendOption { NameToValue, ValueToName, Both }

        private void AppendECI(string name, int value, AppendOption option)
        {
            switch (option)
            {
                case AppendOption.NameToValue:
                    s_NameToValue.Add(name, value);
                    break;
                case AppendOption.ValueToName:
                    s_ValueToName.Add(value, name);
                    break;
                case AppendOption.Both:
                    s_NameToValue.Add(name, value);
                    s_ValueToName.Add(value, name);
                    break;
                default:
                    throw new InvalidOperationException("There is no such AppendOption");
            }
        }

        /// <summary>
        /// Initialize ECI Set. 
        /// </summary>
        /// <param name="option">AppendOption is enum under ECISet
        /// Use NameToValue during Encode. ValueToName during Decode</param>
        internal ECISet(AppendOption option)
        {
            Initialize(option);
        }

        private void Initialize(AppendOption option)
        {
            switch (option)
            {
                case AppendOption.NameToValue:
                    s_NameToValue = new Dictionary<string, int>();
                    break;
                case AppendOption.ValueToName:
                    s_ValueToName = new Dictionary<int, string>();
                    break;
                case AppendOption.Both:
                    s_NameToValue = new Dictionary<string, int>();
                    s_ValueToName = new Dictionary<int, string>();
                    break;
                default:
                    throw new InvalidOperationException("There is no such AppendOption");
            }

            //ECI table. Source 01 URL: http://strokescribe.com/en/ECI.html
后面还有 154 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。