using System;
public class Foo
{
public int i;
}
class RefTest1App
{
static void Main(string[] args)
{
Foo test1 = new Foo();
test1.i = 1;
Foo test2 = new Foo();
test2.i = 2;
Console.WriteLine("BEFORE OBJECT ASSIGNMENT");
Console.WriteLine("test1.i={0}", test1.i);
Console.WriteLine("test2.i={0}", test2.i);
Console.WriteLine();
test1 = test2;
Console.WriteLine("AFTER OBJECT ASSIGNMENT");
Console.WriteLine("test1.i={0}", test1.i);
Console.WriteLine("test2.i={0}", test2.i);
Console.WriteLine();
test1.i = 42;
Console.WriteLine("AFTER CHANGE TO ONLY TEST1 MEMBER");
Console.WriteLine("test1.i={0}", test1.i);
Console.WriteLine("test2.i={0}", test2.i);
}
}
Software Development
software development notes, main category for Cs, Java, and other programming experiences.
Catch NullReferenceException Exception
using System;
class MyClass {
public int Value;
}
class MainClass {
public static void Main() {
try {
MyClass MyObject = new MyClass();
MyObject = null;
MyObject.Value = 123;
} catch (NullReferenceException) {
Console.WriteLine("Cannot reference a null object.");
}
}
}
Calling a Class Method on a Class
using System;
public class MainClass {
public static void Main() {
string firstName = "J";
string lastName = "R";
string name = string.Format("{0} {1}", firstName, lastName);
Console.WriteLine(name);
}
}
Calling an Instance Method on an Object
using System;
public class MainClass {
public static void Main() {
string name = "Joe";
Console.WriteLine(name.ToUpper());
}
}
Object.ReferenceEquals Method
using System;
public class Starter {
public static void Main() {
Employee obj1 = new Employee(5678);
Employee obj2 = (Employee)obj1.Clone();
if (Employee.ReferenceEquals(obj1, obj2)) {
Console.WriteLine("objects identical");
} else {
Console.WriteLine("objects not identical");
}
}
}
class Employee : ICloneable {
public Employee(int id) {
if ((id < 1000) || (id > 9999)) {
throw new Exception(
"Invalid Employee ID");
}
}
public object Clone() {
return MemberwiseClone();
}
}
Object Copy and Clone
using System;
public class Name {
public string firstName;
public string lastName;
public Name(string firstName, string lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public void Display() {
Console.WriteLine("firstName = " + firstName);
Console.WriteLine("lastName = " + lastName);
}
public static Name Copy(Name car) {
return (Name) car.MemberwiseClone();
}
}
class Test {
public static void Main() {
Name myName = new Name("T", "M");
Name myOtherName = new Name("P", "B");
Console.WriteLine("myName details:");
myName.Display();
Console.WriteLine("myOtherName details:");
myOtherName.Display();
// perform a memberwise clone of myName using the Name.Copy() method
Console.WriteLine("Performing a memberwise clone of myName to myOldName");
Name myOldName = Name.Copy(myName);
Console.WriteLine("myOldName details:");
myOldName.Display();
}
}
Variables of type object can accept values of any data type
using System;
class ObjectTest
{
public int i = 10;
}
class MainClass2
{
static void Main()
{
object a;
a = 1; // an example of boxing
Console.WriteLine(a);
Console.WriteLine(a.GetType());
Console.WriteLine(a.ToString());
a = new ObjectTest();
ObjectTest classRef;
classRef = (ObjectTest)a;
Console.WriteLine(classRef.i);
}
}