int i = 123; object obj = i;//Boxing if( obj is int ) int j = (int) obj;//Unboxing |
Console.WriteLine( "Number list:{0}, {1}, {2}",1,2,3 ); |
Console.WriteLine( "Number list:{0}, {1}, {2}", 1.ToString(),2.ToString(),3.ToString() ); |
public struct Person { private string _Name; public string Name { get{ return _Name; } set{ _Name = value; } } public Person( string PersonName ) { _Name = PersonName; } public override string ToString() { return _Name; } } // Using the person in a collection ArrayList arrPersons = new ArrayList(); Person p = new Person( "OldName" ); arrPersons.Add( p ); // Try to change the name p = ( Person ) arrPersons[0] ; p.Name = "NewName"; Debug.WriteLine( ( (Person ) arrPersons[0] ).Name );//It's "OldName" |
( (Person ) arrPersons[0] ).Name = "NewName";//Can't be compiled |
// Using the person in a collection ArrayList arrPersons = new ArrayList(); Person p = new Person( "OldName" ); arrPersons.Add( p ); // Try to change the name p = ( Person ) arrPersons[0] ; p.Name = "NewName"; arrPersons.RemoveAt( 0 );//Remove old data first arrPersons.Insert( 0, p );//Add new data Debug.WriteLine( ( (Person ) arrPersons[0] ).Name );//It's "NewName" |
public interface IPersonName { string Name{ get;set;} } public struct Person:IPersonName { private string _Name; public string Name { get{ return _Name; } set{ _Name = value; } } public Person( string PersonName ) { _Name = PersonName; } public override string ToString() { return _Name; } } // Using the person in a collection ArrayList arrPersons = new ArrayList(); Person p = new Person( "OldName" ); arrPersons.Add( p ); // Change the name ( (IPersonName)arrPersons[0] ).Name = "NewName"; Debug.WriteLine( ( (Person ) arrPersons[0] ).Name );//It's "NewName" |
( (Person ) arrPersons[0] ).Name = "NewName";//Can't be compiled |
( (IPersonName)arrPersons[0] ).Name = "NewName"; |