src/DotNetCommon.Core/Extensions/IfNullUseExtensions.cs
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
namespace DotNetCommon.Extensions
{
/// <summary>
/// 提供IfNullUse系列扩展方法
/// </summary>
public static class IfNullUseExtensions
{
#region 普通类的IfNullUse
/// <summary>
/// (obj??defaultValue)的简写形式,主要是为了解决连续调用时的括号问题,如下:
/// <code>var str=(obj??new object()).ToString()</code>
/// <code>var str=obj.IfNullUse(new object()).ToString()</code>
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static T IfNullUse<T>(this T obj, T defaultValue = default(T)) where T : class => obj ?? defaultValue;
#endregion
#region 数字的IfNullUse
#region 可空数字类型
/// <summary>
/// 如果是null的话返回defaultValue
/// </summary>
/// <param name="obj"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static sbyte IfNullOrDefaultUse(this sbyte? obj, sbyte defaultValue = 0) => (obj == null || obj == default(sbyte)) ? defaultValue : obj.Value;
/// <summary>
/// 如果是null的话返回defaultValue
/// </summary>
/// <param name="obj"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static byte IfNullOrDefaultUse(this byte? obj, byte defaultValue = 0) => (obj == null || obj == default(byte)) ? defaultValue : obj.Value;
/// <summary>
/// 如果是null的话返回defaultValue
/// </summary>
/// <param name="obj"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static ushort IfNullOrDefaultUse(this ushort? obj, ushort defaultValue = 0) => (obj == null || obj == default(ushort)) ? defaultValue : obj.Value;
/// <summary>
/// 如果是null的话返回defaultValue
/// </summary>
/// <param name="obj"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public static short IfNullOrDefaultUse(this short? obj, short defaultValue = 0) => (obj == null || obj == default(short)) ? defaultValue : obj.Value;
/// <summary>
后面还有 196 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
