Есть ли что-то вроде Javascript's void
оператора в C#?
Javascript's void
"оценивает выражение и отбрасывает результат, возвращая undefined
". Таким образом, я ищу что-то встроенное, которое «оценивает» и возвращает null
, или, может быть, тип по умолчанию. (Так оно и должно вроде быть как обратной нуль-сливающихся ??
оператора.)Недействительность Javascript в C#?
Пример использования:
Person a;
public void main() {
var x = void(a = new Person());
// x should contain null
}
class Person { }
(пример не компилируется из-за незаконного использования ключевого слова «пустота», естественно.)
Я в настоящее время используют этот-который работает, но чувствует себя crufty:
protected object voided(object ob) {
return null;
}
Редактировать. Хорошо, поэтому я определенно должен добавить некоторые подробности. Я использую код в встроенном выражении DataBind в коде ASP.NET. Например:
<asp:Repeater runat="server">
<ItemTemplate>
</tr><%# voided(globalPersonVariable = (Person)Container.DataItem)) %></tr>
</ItemTemplate>
</asp:Repeater>
Использование default
, к сожалению, здесь не работает.
(я не включал эту дополнительную информацию в первый раз, потому что я хотел сохранить ее «чистым» C# -простым, а не ASP.NET.)
Зачем вам это нужно? Поместите это в контекст. Я не вижу смысла писать такой код. –
В чем смысл? –
Ничего плохого в 'return null'. И это не то же самое, что и в C#. –