当前位置: 首页 > article >正文

【C#】【EXCEL】Bumblebee/Classes/ExColumn.cs

文章目录

    • Bumblebee/Classes/ExColumn.cs
      • Flow diagram
      • Description
      • Code

Bumblebee/Classes/ExColumn.cs

Flow diagram

复制构造函数
Copy Constructor
值列表构造函数
Values List Constructor
名称和值列表构造函数
Name and Values List Constructor
名称,值列表和格式构造函数
Name, Values List and Format Constructor
值列表和格式构造函数
Values List and Format Constructor
获取属性
Get Properties
其他操作
Other Operations
开始
Start
创建 ExColumn 实例
Create ExColumn Instance
选择构造方法
Choose Constructor
复制现有 ExColumn
Copy Existing ExColumn
从值列表创建 ExColumn
Create ExColumn from Values List
从名称和值列表创建 ExColumn
Create ExColumn from Name and Values List
创建带名称,值列表和格式的 ExColumn
Create ExColumn with Name, Values List and Format
从值列表和格式创建 ExColumn
Create ExColumn from Values List and Format
选择操作类型
Choose Operation Type
属性操作
Property Operations
其他操作
Other Operations
获取名称
Get Name
获取格式
Get Format
获取值列表
Get Values
ToString 方法
ToString Method
属性操作完成
Property Operations Completed
其他操作完成
Other Operations Completed
结束
End

Description

  1. 开始 (Start)
    这是流程的起点。

  2. 创建 ExColumn 实例 (Create ExColumn Instance)
    这对应于代码中的构造函数。

    public class ExColumn : ExData
    {
        // 构造函数在这里定义
    }
    
  3. 选择构造方法 (Choose Constructor)
    ExColumn 类提供了多个构造函数,对应流程图中的不同分支:

    a. 复制构造函数 (Copy Constructor)

    public ExColumn(ExColumn exColumn) : base(exColumn)
    {
        this.name = exColumn.name;
        this.format = exColumn.format;
        this.values = exColumn.values;
    }
    

    b. 值列表构造函数 (Values List Constructor)

    public ExColumn(List<string> values) : base(DataTypes.Column)
    {
        this.values = values;
    }
    

    c. 名称和值列表构造函数 (Name and Values List Constructor)

    public ExColumn(string name, List<string> values) : base(DataTypes.Column)
    {
        this.name = name;
        this.values = values;
    }
    

    d. 名称、值列表和格式构造函数 (Name, Values List and Format Constructor)

    public ExColumn(string name, List<string> values, string format) : base(DataTypes.Column)
    {
        this.name = name;
        this.format = format;
        this.values = values;
    }
    

    e. 值列表和格式构造函数 (Values List and Format Constructor)

    public ExColumn(List<string> values, string format) : base(DataTypes.Column)
    {
        this.format = format;
        this.values = values;
    }
    
  4. 选择操作类型 (Choose Operation Type)
    创建实例后,可以执行不同类型的操作:

  5. 获取属性 (Get Properties)
    这对应于类中的属性访问器:

    public virtual string Name { get { return name; } }
    public virtual string Format { get { return format; } }
    public virtual List<string> Values { get { return values; } }
    
  6. 其他操作 (Other Operations)
    这主要指 ToString 方法:

    public override string ToString()
    {
        return "Column | r:" + values.Count + " (" + format + ")";
    }
    
  7. 结束 (End)
    流程结束。

这个流程图清晰地展示了 ExColumn 类的生命周期,从创建实例到执行各种操作。它反映了类的设计,包括多个构造函数以适应不同的初始化需求,以及提供的属性和方法。通过这个流程图,我们可以直观地理解 ExColumn 类的结构和功能。

Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bumblebee
{
    /// <summary>
    /// ExColumn 类表示 Excel 中的一列数据
    /// 继承自 ExData 类,专门用于处理列数据
    /// </summary>
    public class ExColumn : ExData
    {
        #region 成员变量

        // 列的名称
        protected string name = string.Empty;
        // 列的格式(默认为 "General")
        protected string format = "General";
        // 存储列中的值
        protected List<string> values = new List<string>();

        #endregion

        #region 构造函数

        /// <summary>
        /// 复制构造函数,创建一个现有 ExColumn 对象的副本
        /// </summary>
        /// <param name="exColumn">要复制的 ExColumn 对象</param>
        public ExColumn(ExColumn exColumn) : base(exColumn)
        {
            this.name = exColumn.name;
            this.format = exColumn.format;
            this.values = exColumn.values;
        }

        /// <summary>
        /// 使用值列表创建 ExColumn 对象
        /// </summary>
        /// <param name="values">列中的值</param>
        public ExColumn(List<string> values) : base(DataTypes.Column)
        {
            this.values = values;
        }

        /// <summary>
        /// 使用名称和值列表创建 ExColumn 对象
        /// </summary>
        /// <param name="name">列的名称</param>
        /// <param name="values">列中的值</param>
        public ExColumn(string name, List<string> values) : base(DataTypes.Column)
        {
            this.name = name;
            this.values = values;
        }

        /// <summary>
        /// 使用名称、值列表和格式创建 ExColumn 对象
        /// </summary>
        /// <param name="name">列的名称</param>
        /// <param name="values">列中的值</param>
        /// <param name="format">列的格式</param>
        public ExColumn(string name, List<string> values, string format) : base(DataTypes.Column)
        {
            this.name = name;
            this.format = format;
            this.values = values;
        }

        /// <summary>
        /// 使用值列表和格式创建 ExColumn 对象
        /// </summary>
        /// <param name="values">列中的值</param>
        /// <param name="format">列的格式</param>
        public ExColumn(List<string> values, string format) : base(DataTypes.Column)
        {
            this.format = format;
            this.values = values;
        }

        #endregion

        #region 属性

        /// <summary>
        /// 获取列的名称
        /// </summary>
        public virtual string Name
        {
            get { return name; }
        }

        /// <summary>
        /// 获取列的格式
        /// </summary>
        public virtual string Format
        {
            get { return format; }
        }

        /// <summary>
        /// 获取列中的值列表
        /// </summary>
        public virtual List<string> Values
        {
            get { return values; }
        }

        #endregion

        #region 方法

        // 这里可以添加其他方法

        #endregion

        #region 重写方法

        /// <summary>
        /// 重写 ToString 方法,提供 ExColumn 对象的字符串表示
        /// </summary>
        /// <returns>描述列的字符串,包括值的数量和格式</returns>
        public override string ToString()
        {
            return "Column | r:" + values.Count + " (" + format + ")";
        }

        #endregion
    }
}

http://www.kler.cn/a/282011.html

相关文章:

  • 基于Python实现的HDR图像处理算法
  • 2025年法定节假日日历
  • Redis知识分享(三)
  • 三周精通FastAPI:42 手动运行服务器 - Uvicorn Gunicorn with Uvicorn
  • nfs服务器--RHCE
  • 快排和归并
  • 代码随想录(day8)—环形链表
  • PyQt5中,editingFinished连接的槽函数中 QMessageBox 弹出两次
  • MagiskBoot编译解包打包boot.img
  • Linux系统使用Docker compose搭建开源文档系统Paperless-ngx
  • TS学习笔记
  • 【计算机网络】计算机网络的组成和功能
  • SpringBoot 项目——抽奖系统
  • webContextUnify的作用
  • mac安装java17(jdk17)
  • Netty+WebSocket实现高并发网络编程
  • 【Go - interface, 强类型语言中的任意类型 】
  • 【项目日记】高并发内存池---实现线程缓存
  • Linux学习记录(十三)----信号
  • 使用 JavaScript 实现图片上传
  • 视源CVTE嵌入式面试题及参考答案(200+面试题,17万字)
  • TCP vs UDP:揭秘可靠性与效率之争
  • Linux 软件包管理器yum 自动化构建工具-make/makefile
  • 游卡,三七互娱,得物,顺丰,快手,oppo,莉莉丝,康冠科技,途游游戏,埃科光电25秋招内推
  • PN结--
  • R 语言学习教程,从入门到精通,R 绘图饼图(23)