Установить разницу в postgres

SomeDelegate a = Inc;
Func<int, int> b = Inc;

не подходит для

SomeDelegate a = new SomeDelegate(Inc); // no cast here
Func<int, int> b = new Func<int, int>(Inc);

Вы не можете использовать экземпляр SomeDelegate для функции Func & lt; int, int & gt; по той же причине вы не можете передать строку в словарь & lt; int, int & gt; - они разные.

Это работает:

Func<int, int> c = x => a(x);

, который является синтаксическим сахаром для

class MyLambda
{
   SomeDelegate a;
   public MyLambda(SomeDelegate a) { this.a = a; }
   public int Invoke(int x) { return this.a(x); }
}

Func<int, int> c = new Func<int, int>(new MyLambda(a).Invoke);
-1
задан Yogesh Sharma 18 January 2019 в 14:43
поделиться

4 ответа

Другой вариант заключается в использовании EXCEPT

select a 
from temp
except
select a
from temp2;
0
ответ дан a_horse_with_no_name 18 January 2019 в 14:43
поделиться

Вы также можете использовать NOT EXISTS:

SELECT t.*
FROM temp t
WHERE NOT EXISTS (SELECT 1 FROM temp2 t2 WHERE t2.a = t.a);
0
ответ дан Yogesh Sharma 18 January 2019 в 14:43
поделиться

У вас уже есть хорошие ответы, я просто хотел добавить один. Вы также можете пойти с LEFT JOIN:

SELECT temp.a
FROM temp 
LEFT JOIN temp2 
ON temp.a = temp2.a
WHERE temp2.a IS NULL;
0
ответ дан Tony 18 January 2019 в 14:43
поделиться

использовать не так, как показано ниже

SELECT a FROM temp WHERE a NOT IN ( select a from temp2 where a is not null)
0
ответ дан Zaynul Abadin Tuhin 18 January 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: