C# 基础备忘录

1. decimal 类型调用ToString()方法后没把末尾的0去掉的解决办法:

例子:decimal? money = Convert.ToDecimal(10.8950);

string moneyStr=money.Value.ToString(); 结果在同一台机子,两个项目里面会出现两个不同的结果。

结果一:moneyStr="10.895";

结果二:moneyStr="10.8950";   此结果并没把末尾的0去掉。

如果使用如下方式就可以去掉,不会出现在同一台机子,两个项目里面会出现两个不同的结果。

moneyStr=money.Value.ToString("G0"); 结果:10.895.

2.C#中的??的释义以及用法:

如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。
为了减少可空类型的代码量,遇到null的时候
C#提供了??操作符来获取如果为空的默认值。
static void Main(string[] args) 
{
    int? nVal1 = null;
    int? nVal2 = 5;
    // nVal1为空,相乘后还是null,输出0作为默认值
    Console.WriteLine(2 * nVal1 ?? 0);
    // nVal2非空,取计算值输出,输出10
    Console.WriteLine(2 * nVal2 ?? 0);
}

 3.输入日志到Windows日志中:

        /// <summary>
        /// 全局应用程序错误
        /// </summary>
        protected void Application_Error()
        {
            var ex = Server.GetLastError().GetBaseException();

            //将错误日志写入windows 日志中
            EventLog.WriteEntry("yunshangfamen", ex.ToString(), EventLogEntryType.Error);

            var sb = new System.Text.StringBuilder("====================错误信息==================\r\n");
            sb.AppendFormat("错误消息:{0}\r\n", ex.Message);
            sb.AppendFormat("错误页面:{0}\r\n", Request.Url);
            sb.AppendFormat("错误时间:{0}\r\n", DateTime.Now.ToString());
            sb.AppendFormat("堆栈跟踪:{0}\r\n", ex.StackTrace);
            sb.AppendFormat("\r\n错误程序:{0}\r\n", ex.Source);
            sb.AppendFormat("目标地点:{0}\r\n", ex.TargetSite);

            Log.WriteLog(sb.ToString());
        }

 

转载于:https://www.cnblogs.com/wgx0428/p/3680727.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值