var data = new Tuple < string , int > ( “John Doe”, 42 ) ;
public string , int , double ReturnMyTuple ( )
{
return "Hello World!" , 42 , 4.2 ;
}
public Tuple < string , int , double > ReturnMyTuple ( )
{
return "Hello World!" , 42 , 4.2 ;
}
// elsewhere: item1 is a string, item2 is an int, item3 is a double.
var item1, item2, item3 = ReturnMyTuple ( ) ;
public void DoSomething < T > ( T enum ) where T : System . Enum { ... }
T Add < T > ( T a, T b )
{
return a + b ;
}
if ( x in ( 1 , 2 , 3 ) ) { }
if ( x in [ 5..10 ] ) { }
if ( x in [ 1 , 2 , 4..8, 10 ] ) { }
var value = someObject. Value ( ) ;
var value = someObject. Value ;
switch ( anInt )
{
case 1 , 2 :
Console. WriteLine ( "1 or 2" ) ;
break ;
case 3..9 :
Console. WriteLine ( "3 to 9" ) ;
break ;
case > = 10 :
Console. WriteLine ( "10 or higher" ) ;
break ;
default :
...
}
switch ( aString )
{
case "one" , "two" :
Console. WriteLine ( "1 or 2" ) ;
break ;
case "three" :
Console. WriteLine ( "3" ) ;
break ;
default :
...
}
switch ( aString )
{
case . IsNullOrEmpty ( ) :
...
case . Length > 100 :
...
case . Contains ( "foo" ) :
...
}
[ Flags ]
public enum MyFlags
{
Value1, // 1
Value2, // 2
ValueCombining1And2 = Value1 | Value2, // 3
Value3, // 4
Value4, // 8
ValueCombining3And4 = Value3 | Value4 // 12
}
MyClass value = null ;
int something = value. x . y ??? 0 ; // can you use a triple character here?
// something is now 0
var obj = Foo ( ) ;
Bar value = null ;
if ( obj. Bar ! = null && obj. Bar . Something ! = null )
{
value = obj. Bar . Something . DoSomething ( ) ;
}
var obj = Foo ( ) ;
var value = obj ? . Bar ? . Something ? . DoSomething ( ) ;
try
{
}
catch ( ArgumentOutOfRangeException )
catch ( ArgumentNullException )
{
// Catch a ArgumentOutOfRangeException or a ArgumentNullException
}
Source: https://habr.com/ru/post/94182/
All Articles