.NET 4.x Сравнение нескольких объектов - C#

Узнай цену своей работы

Формулировка задачи:

Что скажете про такую лабуду?
string month = "July";
if (month == "June".Or("July").Or("August"))
    Console.WriteLine("Summer ;)");
if (1 == 1.Xor(1))
    Console.WriteLine("NO(");
DateTime a = DateTime.Now, b = a, c = b;
if(a == b.And(c))
    Console.WriteLine("Unexpectedly!");
Console.ReadKey();
public static class Extention
{
    public class Items<T> : IEquatable<T>
        where T : IEquatable<T>
    {
        public delegate bool Method(bool b1, bool b2);
        Method method;
        IEquatable<T> el1, el2;
        public Items(IEquatable<T> el1, IEquatable<T> el2, Method method)
        {
            this.el1 = el1;
            this.el2 = el2;
            this.method = method;
        }
        public bool Equals(T item)
        {
            return method(el2.Equals(item), el1.Equals(item));
        }
        public static bool operator ==(T element, Items<T> items)
        {
            return items.Equals(element);
        }
        public static bool operator !=(T element, Items<T> items)
        {
            return !items.Equals(element);
        }
    }
    public static Items<TEl> Or<TEl>(this IEquatable<TEl> t1, TEl t2)
        where TEl : IEquatable<TEl>
    {
        return new Items<TEl>(t1, t2, (a, b) => a || b);
    }
    public static Items<TEl> And<TEl>(this IEquatable<TEl> t1, TEl t2)
        where TEl : IEquatable<TEl>
    {
        return new Items<TEl>(t1, t2, (a, b) => a && b);
    }
    public static Items<TEl> Xor<TEl>(this IEquatable<TEl> t1, TEl t2)
        where TEl : IEquatable<TEl>
    {
        return new Items<TEl>(t1, t2, (a, b) => a ^ b);
    }
}
жду замечаний и летящих помидоров

Решение задачи: «.NET 4.x Сравнение нескольких объектов»

textual
Листинг программы
string monthnull = null;
Console.WriteLine((monthnull == null) || (monthnull == monthnull.ToString()));
Console.WriteLine(monthnull.Or(null).Or(monthnull.ToString()));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы