如果符号,是否有C#速记的条件中止返回技术

时间:2013-05-22 11:40:46

标签: c# return abort

如果符号,是否有C#简写的条件中止返回技术?

喜欢:

return (a==b) ? true : abort;

如果条件不满足,则返回将被中止。

2 个答案:

答案 0 :(得分:1)

你问这个问题,所以你可能有理由不这样做:

if (a==b) return true;

以上是非常易读,可维护等等。

无论如何你可以使用一个带有lambda的委托并做这样的事情(虽然我强烈反对它):

delegate bool Abort();

bool YourMethod() // not mine ;)
{
    int a = 1, b = 2;
    return (a == b) || new Abort(() => { 
        // put the rest of your 'abort' code here
        return false; // or throw an exception...
    })();
}

答案 1 :(得分:0)

public class Program
    {
        static void Main(string[] args)
        {
            var res = Test();
        }

        static bool Test()
        {
            var a = 5;
            var b = 6;

            return a.TrueOrAbort(b);


        }

    }

    public static class MyHelper
    {
        public static bool TrueOrAbort<T>(this T first, T second) where T : struct, IComparable  
        {
            if (first.Equals(second)) 
                return true;

            Environment.Exit(0);

            return false;
        }
    }