• 编写有效的C# 代码


    最近,一位在和一位同学交流的时候,他让我看看他的代码情况,我看了许久,逐步记录了一些,现在慢慢总结出来,与大家分享,编写有效的C#代码很重要,虽然我们平时写的时候只管实现,但是在面向大型的项目或者参与国际开源项目的时候,经常会遇到有效的C#问题。今天列举几个,供大家参考。

           第一:ToString() 很好,但是就这样?

           我们常常喜欢用ToString()将各个类型强制转换为字符串,但是如何应用有效呢?举个例子:获取当前时间:System.DateTime.Now.ToString() 这是我们太习惯不过的代码了,但是里面至少有两处问题。1)"System." 是冗余代码,因为一般命名空间中都添加了Using System; 2) ToString() 缺少获取不依赖于区域性(固定)的CultueInfo。你觉得呢?亲...

           第二:三目运算符?更简洁?

           以前我们习惯用If..else..来做判断,后来用三目运算符来简化if...else...甚至替代,但是有比三目运算符更简洁的吗?当然有的情况下还是有的,举个例子:

           if(a>b)

             {return true ;}

          else

             {return function();}//function() 是一个执行返回参数为bool类型的值

           用三目运算符表达:return  (a>b?true:function)

           更简单的方法:return b>=a  &&  function()

           你觉得是这样吗?亲...(当然从执行效率上三目是最高的)

           第三:为什么不用Linq?还在foreach 吗? 

           我们都知道foreach 是在for循环上的一种有效改进,但是Linq的出现,难道我们不能再改进吗?举个例子:

            string result= "";

            foreach (string s in strList)
             {
                  result+= s;

             } 

           上述代码很简单,但是我们是否可以这样?

            string pat = strList .Aggregate("", (current, s) => current + s); 

            我们常常忽视了好多,我们并没有追求什么完美,但是代码要是让我们产生厌恶感,你还那样写代码吗?后面我也将陆陆续续更新更多...

    摘要: 今天上午上课无聊,写了个数字大小写转换的程序,能转换千亿以内的任何数值,代码见下,幼稚了,让大家见笑了。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace NumberConver{ class Program { static void Main(string[] args) { while (true) { //执行转换功能 compute(); //换行 Conso...阅读全文
  • 相关阅读:
    C#内建接口:IComparable
    C#内建接口:IEnumerable
    WPF中使用资源
    WPF中的触发器(Trigger)
    一文详解 | 开放搜索兼容Elasticsearch做召回引擎
    阿里云李飞飞:中国数据库的时与势
    如何构建流量无损的在线应用架构 | 专题开篇
    如何构建一个流量无损的在线应用架构 | 专题中篇
    多任务学习模型之ESMM介绍与实现
    云原生时代的运维体系进化
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2432358.html
Copyright © 2020-2023  润新知