Viyi.Util/Extensions/ObjectExtensions.Take.cs
(完整代码) 1KBnamespace Viyi.Util.Extensions;
public static partial class ObjectExtensions {
/// <summary>
/// 如果给定断言成立,则返回对象/数值,否则返回默认值
/// </summary>
public static T? TakeIf<T>(this T me, Func<T, bool> predicate) where T : class {
return predicate(me) ? me : null;
}
/// <summary>
/// 如果给定条件成立,则返回对象/数值,否则返回默认值
/// </summary>
public static T? TakeIf<T>(this T me, bool condition) where T : class {
return condition ? me : null;
}
/// <summary>
/// 如果给定断言不成立,则返回对象/数值,否则返回默认值
/// </summary>
public static T? TakeUnless<T>(this T me, Func<T, bool> predicate) where T : class {
return predicate(me) ? default : me;
}
/// <summary>
/// 如果给定条件不成立,则返回对象/数值,否则返回默认值
/// </summary>
public static T? TakeUnless<T>(this T me, bool condition) where T : class {
return condition ? default : me;
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
