using System;
using System.Net;
using System.Text;
public class BinaryDataTest
{
public static void Main()
{
int test1 = 45;
double test2 = 3.14159;
int test3 = -1234567890;
bool test4 = false;
byte[] data = new byte[1024];
string output;
data = BitConverter.GetBytes(test1);
output = BitConverter.ToString(data);
Console.WriteLine("test1 = {0}, string = {1}", test1, output);
data = BitConverter.GetBytes(test2);
output = BitConverter.ToString(data);
Console.WriteLine("test2 = {0}, string = {1}", test2, output);
data = BitConverter.GetBytes(test3);
output = BitConverter.ToString(data);
Console.WriteLine("test3 = {0}, string = {1}", test3, output);
data = BitConverter.GetBytes(test4);
output = BitConverter.ToString(data);
Console.WriteLine("test4 = {0}, string = {1}", test4, output);
}
}
Month: February 2011
Obtaining the Most Significant or Least Significant Bits of a Number
using System;
using System.Data;
class Class1{
static void Main(string[] args){
int number = 25;
short num = 25;
Console.WriteLine(GetMSB(number));
Console.WriteLine(GetConvertMSB(number));
Console.WriteLine(GetLSB(number));
Console.WriteLine(GetConvertLSB(number));
Console.WriteLine(GetMSB(num));
Console.WriteLine(GetLSB(num));
}
public static int GetMSB(int value)
{
return (int)(value & 0xFFFF0000);
}
public static int GetConvertMSB(int value)
{
return (value & Convert.ToInt32("11111111111111110000000000000000", 2));
}
public static int GetLSB(int intValue)
{
return (intValue & 0x0000FFFF);
}
public static int GetConvertLSB(int intValue)
{
return (intValue & Convert.ToInt32("11111111111111110000000000000000", 2));
}
public static int GetMSB(short intValue)
{
return (intValue & 0xFF00);
}
public static int GetLSB(short intValue)
{
return (intValue & 0x00FF);
}
}
Using the Bitwise Complement Operators with Various Data Types
using System;
using System.Data;
class Class1{
static void Main(string[] args){
uint x = 0x01001001;
uint XComp = ~x;
Console.WriteLine("~x = " + ~x);
sbyte B1 = sbyte.MinValue;
sbyte B2 = sbyte.MaxValue;
Console.WriteLine("B1|B2 = " + (((byte)B1|(byte)B2)));
ushort x2 = 0x00000001; // Problem
Console.WriteLine("~x2 = " + ~x2);
byte y = 1; // Problem
//byte B = ~y;
Console.WriteLine("~y = " + ~y);
char x3 = (char)1; // Problem
Console.WriteLine("~x3 = " + ~x3);
sbyte x5 = 1;
Console.WriteLine("~x5 = " + ~x5);
uint IntResult = (uint)~x;
Console.WriteLine("IntResult = " + IntResult);
byte ByteResult = (byte)~y;
Console.WriteLine("ByteResult = " + ByteResult);
}
}
.NET Frameworks Overview:Custom Object Formatting
using System;
class Employee: IFormattable
{
public Employee(int id, string firstName, string lastName)
{
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
}
public string ToString (string format, IFormatProvider fp)
{
if ((format != null) && (format.Equals("F")))
return(String.Format("{0}: {1}, {2}",
id, lastName, firstName));
else
return(id.ToString(format, fp));
}
int id;
string firstName;
string lastName;
}
public class CustomObjectFormatting
{
public static void Main()
{
Employee fred = new Employee(123, "AAA", "BBB");
Console.WriteLine("No format: {0}", fred);
Console.WriteLine("Full format: {0:F}", fred);
}
}
Overriding the ToString() Method
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);
}
// override the ToString() method
public override string ToString() {
return firstName + " " + lastName;
}
}
class Test{
public static void Main() {
Name myName = new Name("T", "M");
Name myOtherName = new Name("P", "B");
// call the ToString() method for the Name objects
Console.WriteLine("myName.ToString() = " + myName.ToString());
Console.WriteLine("myOtherName.ToString() = " + myOtherName.ToString());
}
}
Format data in ToString method.
using System;
public class Time1
{
private int hour;
private int minute;
private int second;
public void SetTime( int h, int m, int s )
{
hour = ( ( h >= 0 && h < 24 ) ? h : 0 );
minute = ( ( m >= 0 && m < 60 ) ? m : 0 );
second = ( ( s >= 0 && s < 60 ) ? s : 0 );
}
public string ToUniversalString()
{
return string.Format( "{0:D2}:{1:D2}:{2:D2}", hour, minute, second );
}
public override string ToString()
{
return string.Format( "{0:D2}:{1:D2}:{2:D2} {3}",
( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ),
minute, second, ( hour < 12 ? "AM" : "PM" ) );
}
}
public class MemberAccessTest
{
public static void Main( string[] args )
{
Time1 time = new Time1();
time.hour = 7; // error: hour has private access in Time1
time.minute = 15; // error: minute has private access in Time1
time.second = 30; // error: second has private access in Time1
}
}
[/csharp]
class declaration maintains the time in 24-hour format and ToString Method
using System;
public class Time1
{
private int hour; // 0 – 23
private int minute; // 0 – 59
private int second; // 0 – 59
public void SetTime( int h, int m, int s )
{
hour = ( ( h >= 0 && h < 24 ) ? h : 0 );
minute = ( ( m >= 0 && m < 60 ) ? m : 0 );
second = ( ( s >= 0 && s < 60 ) ? s : 0 );
}
public string ToUniversalString()
{
return string.Format( "{0:D2}:{1:D2}:{2:D2}",
hour, minute, second );
}
public override string ToString()
{
return string.Format( "{0}:{1:D2}:{2:D2} {3}",
( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ),
minute, second, ( hour < 12 ? "AM" : "PM" ) );
}
}
public class Time1Test
{
public static void Main( string[] args )
{
Time1 time = new Time1();
Console.WriteLine( time.ToUniversalString() );
Console.WriteLine( time.ToString() );
time.SetTime( 13, 27, 6 );
Console.WriteLine( time.ToUniversalString() );
Console.WriteLine( time.ToString() );
time.SetTime( 99, 99, 99 );
Console.WriteLine( time.ToUniversalString() );
Console.WriteLine( time.ToString() );
}
}
[/csharp]

