Нет - это разные типы, и оператор +
для обоих этих типов не определен.
В качестве примечания: я не думаю, что вы имеете в виду concatenate
. В C # конкатенация - это то, что вы делаете для двух или более IEnumeration
s, что ставит их «конец в конец». Например, метод Linq Concat()
или String.Concat()
(строки являются «коллекциями» char). То, что вы описываете в своем вопросе, больше похоже на объединение или множественное наследование между двумя несвязанными типами. Я не могу придумать ничего похожего на C #, кроме использования автономных типов, как в альтернативе ниже:
var hello = new { Hello = "Hello" };
var world = new { World = "World" };
var helloWorld = new { hello, world };
Console.WriteLine(helloWorld.ToString());
//outputs { hello = { Hello = Hello }, world = { World = World } }