C# 笔记3 - 重载一系列像python那样的print()方法

简介: C# 笔记3 - 重载一系列像python那样的print()方法

C# 笔记 - 自定义print


写习惯了python,想要一个那样的print()函数,那么将C#中的Console.WriteLine()进行包装吧。遇到一个新的类型在定义一个新的重载print()方法。

  • Base类下的这一些列重载的print()方法是为了像python的print()那样打印变量而写的;
  • 支持C#基本数据类型。对于数组,暂时仅写了一维。但是对于Arraylist可以使用多维,已经通过递归打印;
  • 如果你使用Console.WriteLine()来打印数据,它对于ArrayList等复合类型,不使用遍历,只能打印出表明对象类型的字符串,而如果是多层的复合类型,则需要在每个多层的元素处使用遍历,这样即使打印出来也会占用很多的行,不便于查看,更无法直观感受该列表又多少层。

以下代码工参考之:

/*
 * Jack Lee
 * 2021-03
 */
using System;
using System.IO;
using System.Collections;
namespace Ljc
{
    class Base
    {
        /* 
         *一些基于个人书写习惯的常用方法
         */
        public static String print_str()
        {
            return "\n";
        }
        public static void print()
        {
            Console.WriteLine(Base.print_str());
        }
        public static String print_str(object obj)
        {
            //print("print obj_str 被调用了");
            if (obj.GetType() == typeof(String))
            {
                return print_str(obj.ToString());
            }
            else if (obj.GetType() == typeof(Char))
            {
                return print_str(obj.ToString());
            }
            else if (obj.GetType() == typeof(ArrayList))
            {
                // 参与 ArrayList 的递归调用过程
                ArrayList subArray = obj as ArrayList;
                return print_str(subArray);
            }
            else
            {
                return (obj.ToString());
            }
        }
        public static void print(object obj)
        {
            Console.WriteLine(Base.print_str(obj));
        }
        public static String print_str(char cr)
        {
            return "\'" + cr + "\'";
        }
        public static void print(char cr)
        {
            Console.WriteLine(Base.print_str(cr));
        }
        public static String print_str(string str)
        {
            return "\"" + str + "\"";
        }
        public static void print(string str)
        {
            Console.WriteLine(Base.print_str(str));
        }
        public static String print_str(int num)
        {
            return num.ToString();
        }
        public static void print(int num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(double num)
        {
            return num.ToString();
        }
        public static void print(double num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(float num)
        {
            return num.ToString();
        }
        public static void print(float num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(long num)
        {
            return num.ToString();
        }
        public static void print(long num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(short num)
        {
            return num.ToString();
        }
        public static void print(short num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(uint num)
        {
            return num.ToString();
        }
        public static void print(uint num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(ushort num)
        {
            return num.ToString();
        }
        public static void print(ushort num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(ulong num)
        {
            return num.ToString();
        }
        public static void print(ulong num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(bool bl)
        {
            if (bl == true) { return "true"; }
            else
            {
                return "false";
            }
        }
        public static void print(bool bl)
        {
            Console.WriteLine(Base.print_str(bl));
        }
        public static String print_str(byte num)
        {
            return num.ToString();
        }
        public static void print(byte num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(decimal num)
        {
            return num.ToString();
        }
        public static void print(decimal num)
        {
            Console.WriteLine(Base.print_str(num));
        }
        public static String print_str(int[] list)
        {
            string astr = "[";
            foreach (int i in list)
            {
                string intString = Convert.ToString(i);
                if (astr == "[") { astr = astr + intString; }
                else
                {
                    astr = astr + ", " + intString;
                }
            };
            astr = astr + "]";
            return astr;
        }
        public static void print(int[] list)
        {
            Console.WriteLine(Base.print_str(list));
        }
        public static String print_str(double[] list)
        {
            string astr = "[";
            foreach (double i in list)
            {
                string intString = Convert.ToString(i);
                if (astr == "[") { astr = astr + intString; }
                else
                {
                    astr = astr + ", " + intString;
                }
            };
            astr = astr + "]";
            return astr;
        }
        public static void print(double[] list)
        {
            Console.WriteLine(Base.print_str(list));
        }
        public static String print_str(float[] list)
        {
            string astr = "[";
            foreach (float i in list)
            {
                string intString = Convert.ToString(i);
                if (astr == "[") { astr = astr + intString; }
                else
                {
                    astr = astr + ", " + intString;
                }
            };
            astr = astr + "]";
            return astr;
        }
        public static void print(float[] list)
        {
            Console.WriteLine(Base.print_str(list));
        }
        public static String print_str(char[] list)
        {
            if (list.Length == 0) { string astr = "[]"; return astr; }
            else
            {
                string astr = "[";
                for (int i = 0; i < list.Length; i++)
                {
                    if (i == list.Length - 1) { astr = astr + "\"" + list[i] + "\""; }
                    else { astr = astr + "\"" + list[i] + "\", "; }
                }
                astr = astr + "]";
                return astr;
            }
        }
        public static void print(char[] list)
        {
            Console.WriteLine(Base.print_str(list));
        }
        public static String print_str(string[] list)
        {
            if (list.Length == 0) { string astr = "[]"; return astr; }
            else
            {
                string astr = "[";
                for (int i = 0; i < list.Length; i++)
                {
                    if (i == list.Length - 1) { astr = astr + "\"" + list[i] + "\""; }
                    else { astr = astr + "\"" + list[i] + "\", "; }
                }
                astr = astr + "]";
                return astr;
            }
        }
        public static void print(string[] list)
        {
            Console.WriteLine(Base.print_str(list));
        }
        public static String print_str(ArrayList list)
        {
            string astr = "[";
            int len = list.Capacity;
            for (int i = 0; i < len; i++)
            {
                if (i < len - 1)
                {
                    String oneastr = Base.print_str(list[i]);
                    astr = astr + oneastr + " ,";
                }
                else
                {
                    String oneastr = Base.print_str(list[i]);
                    astr = astr + oneastr;
                };
            }
            astr = astr + "]";
            return astr;
        }
        public static void print(ArrayList list)
        {
            String astr = Base.print_str(list);
            Console.WriteLine(astr);
        }
    }
}


目录
相关文章
|
编解码 数据安全/隐私保护 Python
抖音批量发布视频工具,自动上传视频作品笔记,python发布软件
这个抖音批量发布工具包含三个主要模块:主上传程序、配置文件和视频预处理工具。主程序
|
人工智能 Ruby Python
python__init__方法笔记
本文总结了Python中`__init__`方法的使用要点,包括子类对父类构造方法的调用规则。当子类未重写`__init__`时,实例化会自动调用父类的构造方法;若重写,则需通过`super()`或直接调用父类名称来显式继承父类初始化逻辑。文中通过具体代码示例展示了不同场景下的行为及输出结果,帮助理解类属性与成员变量的关系,以及如何正确使用`super()`实现构造方法的继承。
688 9
|
API 数据安全/隐私保护 Python
小红书批量发布协议, 抖音自动批量发布软件脚本,笔记作品视频自动发布工具【python】
这个工具框架包含了小红书和抖音的批量发布功能,支持图片和视频处理、定时发布等功能
|
Web App开发 数据安全/隐私保护 Python
抖音快手小红书哔哩哔哩,批量发布作品笔记视频工具,自动发布作品上传笔记视频【python】
这个工具实现了四大平台的视频批量上传功能,包含完整的异常处理和日志记录。使用时需要配置
|
存储 JSON API
小红书批量发布笔记工具,小红书批量上传软件,python框架分享
这个框架包含了配置文件、工具函数、API封装和主程序四个模块。使用时需要先配置账号信息,
|
数据采集 JSON API
Python 实战:用 API 接口批量抓取小红书笔记评论,解锁数据采集新姿势
小红书作为社交电商的重要平台,其笔记评论蕴含丰富市场洞察与用户反馈。本文介绍的小红书笔记评论API,可获取指定笔记的评论详情(如内容、点赞数等),支持分页与身份认证。开发者可通过HTTP请求提取数据,以JSON格式返回。附Python调用示例代码,帮助快速上手分析用户互动数据,优化品牌策略与用户体验。
2859 3
|
数据采集 JSON API
Python 实战!利用 API 接口获取小红书笔记详情的完整攻略
小红书笔记详情API接口帮助商家和数据分析人员获取笔记的详细信息,如标题、内容、作者信息、点赞数等,支持市场趋势与用户反馈分析。接口通过HTTP GET/POST方式请求,需提供`note_id`和`access_token`参数,返回JSON格式数据。以下是Python示例代码,展示如何调用该接口获取数据。使用时请遵守平台规范与法律法规。
1613 0
|
C# UED SEO
C# 异步方法async / await任务超时处理
通过使用 `Task.WhenAny`和 `Task.Delay`方法,您可以在C#中有效地实现异步任务的超时处理机制。这种方法允许您在指定时间内等待任务完成,并在任务超时时采取适当的措施,如抛出异常或执行备用操作。希望本文提供的详细解释和代码示例能帮助您在实际项目中更好地处理异步任务超时问题,提升应用程序的可靠性和用户体验。
922 3
|
JSON 程序员 C#
使用 C# 比较两个对象是否相等的7个方法总结
比较对象是编程中的一项基本技能,在实际业务中经常碰到,比如在ERP系统中,企业的信息非常重要,每一次更新,都需要比较记录更新前后企业的信息,直接比较通常只能告诉我们它们是否指向同一个内存地址,那我们应该怎么办呢?分享 7 个方法给你!
906 2
|
存储 监控 API
Python笔记2(函数参数、面向对象、装饰器、高级函数、捕获异常、dir)
Python笔记2(函数参数、面向对象、装饰器、高级函数、捕获异常、dir)
366 0

推荐镜像

更多