<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FClass_Interface%2Fstruct</id>
		<title>Csharp/C Sharp/Class Interface/struct - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FClass_Interface%2Fstruct"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Class_Interface/struct&amp;action=history"/>
		<updated>2026-04-29T22:54:59Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Class_Interface/struct&amp;diff=568&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Class_Interface/struct&amp;diff=568&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Class_Interface/struct&amp;diff=569&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Class_Interface/struct&amp;diff=569&amp;oldid=prev"/>
				<updated>2010-05-26T11:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Calling a Function with a Structure Parameter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
A Programmer&amp;quot;s Introduction to C# (Second Edition)&lt;br /&gt;
by Eric Gunnerson&lt;br /&gt;
Publisher: Apress  L.P.&lt;br /&gt;
ISBN: 1-893115-62-3&lt;br /&gt;
*/&lt;br /&gt;
// 31 - Interop\Calling Native DLL Functions\Calling a Function with a Structure Parameter&lt;br /&gt;
// copyright 2000 Eric Gunnerson&lt;br /&gt;
using System;&lt;br /&gt;
using System.Runtime.InteropServices;&lt;br /&gt;
struct Point&lt;br /&gt;
{&lt;br /&gt;
    public int x;&lt;br /&gt;
    public int y;&lt;br /&gt;
    &lt;br /&gt;
    public override string ToString()&lt;br /&gt;
    {&lt;br /&gt;
        return(String.Format(&amp;quot;({0}, {1})&amp;quot;, x, y));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
struct Rect&lt;br /&gt;
{&lt;br /&gt;
    public int left;&lt;br /&gt;
    public int top;&lt;br /&gt;
    public int right;&lt;br /&gt;
    public int bottom;&lt;br /&gt;
    &lt;br /&gt;
    public override string ToString()&lt;br /&gt;
    {&lt;br /&gt;
        return(String.Format(&amp;quot;({0}, {1})\n    ({2}, {3})&amp;quot;, left, top, right, bottom));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
struct WindowPlacement&lt;br /&gt;
{&lt;br /&gt;
    public uint length;&lt;br /&gt;
    public uint flags;&lt;br /&gt;
    public uint showCmd;&lt;br /&gt;
    public Point minPosition;&lt;br /&gt;
    public Point maxPosition;&lt;br /&gt;
    public Rect normalPosition;    &lt;br /&gt;
    &lt;br /&gt;
    public override string ToString()&lt;br /&gt;
    {&lt;br /&gt;
        return(String.Format(&amp;quot;min, max, normal:\n{0}\n{1}\n{2}&amp;quot;,&lt;br /&gt;
        minPosition, maxPosition, normalPosition));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class CallingaFunctionwithaStructureParameterWindow&lt;br /&gt;
{&lt;br /&gt;
    [DllImport(&amp;quot;user32&amp;quot;)]&lt;br /&gt;
    static extern int GetForegroundWindow();&lt;br /&gt;
    &lt;br /&gt;
    [DllImport(&amp;quot;user32&amp;quot;)]&lt;br /&gt;
    static extern bool GetWindowPlacement(int handle, ref WindowPlacement wp);&lt;br /&gt;
    &lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        int window = GetForegroundWindow();&lt;br /&gt;
        &lt;br /&gt;
        WindowPlacement wp = new WindowPlacement();&lt;br /&gt;
        wp.length = (uint) Marshal.SizeOf(wp);&lt;br /&gt;
        &lt;br /&gt;
        bool result = GetWindowPlacement(window, ref wp);&lt;br /&gt;
        &lt;br /&gt;
        if (result)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(wp);&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==C# always creates a structure instance as a value-type variable even using the new operator==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
//&lt;br /&gt;
//  ValType.cs -- Demonstrates that C# always creates a structure instance as&lt;br /&gt;
//                a value-type variable even using the new operator.&lt;br /&gt;
//                Compile this program using the following command line:&lt;br /&gt;
//                    C:&amp;gt;csc ValType.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsValType&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    public struct POINT&lt;br /&gt;
    {&lt;br /&gt;
        public int  cx;&lt;br /&gt;
        public int  cy;&lt;br /&gt;
    }&lt;br /&gt;
    public class ValType&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main()&lt;br /&gt;
        {&lt;br /&gt;
            POINT point1;&lt;br /&gt;
            point1.cx = 42;&lt;br /&gt;
            point1.cy = 56;&lt;br /&gt;
            ModifyPoint (point1);&lt;br /&gt;
            Console.WriteLine (&amp;quot;In Main() point2 = ({0}, {1})&amp;quot;, point1.cx, point1.cy);&lt;br /&gt;
            POINT point2 = new POINT ();&lt;br /&gt;
            &lt;br /&gt;
            // point2.cx = 42;&lt;br /&gt;
            // point2.cy = 56;&lt;br /&gt;
            &lt;br /&gt;
            Console.WriteLine ();&lt;br /&gt;
            ModifyPoint (point2);&lt;br /&gt;
            Console.WriteLine (&amp;quot;In Main() point2 = ({0}, {1})&amp;quot;, point2.cx, point2.cy);&lt;br /&gt;
        }&lt;br /&gt;
        static public void ModifyPoint (POINT pt)&lt;br /&gt;
        {&lt;br /&gt;
            pt.cx *= 2;&lt;br /&gt;
            pt.cy *= 2;&lt;br /&gt;
            Console.WriteLine (&amp;quot;In ModifyPoint() pt = ({0}, {1})&amp;quot;, pt.cx, pt.cy);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Conversions Between Structs 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
A Programmer&amp;quot;s Introduction to C# (Second Edition)&lt;br /&gt;
by Eric Gunnerson&lt;br /&gt;
Publisher: Apress  L.P.&lt;br /&gt;
ISBN: 1-893115-62-3&lt;br /&gt;
*/&lt;br /&gt;
// 24 - User-Defined Conversions\Conversions Between Structs&lt;br /&gt;
// copyright 2000 Eric Gunnerson&lt;br /&gt;
using System;&lt;br /&gt;
using System.Text;&lt;br /&gt;
struct RomanNumeral&lt;br /&gt;
{&lt;br /&gt;
    public RomanNumeral(short value) &lt;br /&gt;
    {&lt;br /&gt;
        if (value &amp;gt; 5000)&lt;br /&gt;
        throw(new ArgumentOutOfRangeException());&lt;br /&gt;
        &lt;br /&gt;
        this.value = value;&lt;br /&gt;
    }&lt;br /&gt;
    public static explicit operator RomanNumeral(&lt;br /&gt;
    short value) &lt;br /&gt;
    {&lt;br /&gt;
        RomanNumeral    retval;&lt;br /&gt;
        retval = new RomanNumeral(value);&lt;br /&gt;
        return(retval);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator short(&lt;br /&gt;
    RomanNumeral roman)&lt;br /&gt;
    {&lt;br /&gt;
        return(roman.value);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    static string NumberString(&lt;br /&gt;
    ref int value, int magnitude, char letter)&lt;br /&gt;
    {&lt;br /&gt;
        StringBuilder    numberString = new StringBuilder();&lt;br /&gt;
        &lt;br /&gt;
        while (value &amp;gt;= magnitude)&lt;br /&gt;
        {&lt;br /&gt;
            value -= magnitude;&lt;br /&gt;
            numberString.Append(letter);&lt;br /&gt;
        }&lt;br /&gt;
        return(numberString.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator string(&lt;br /&gt;
    RomanNumeral roman)&lt;br /&gt;
    {&lt;br /&gt;
        int        temp = roman.value;&lt;br /&gt;
        &lt;br /&gt;
        StringBuilder retval = new StringBuilder();&lt;br /&gt;
        &lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 1000, &amp;quot;M&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 500, &amp;quot;D&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 100, &amp;quot;C&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 50, &amp;quot;L&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 10, &amp;quot;X&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 5, &amp;quot;V&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 1, &amp;quot;I&amp;quot;));&lt;br /&gt;
        &lt;br /&gt;
        return(retval.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    public static implicit operator BinaryNumeral(RomanNumeral roman)&lt;br /&gt;
    {&lt;br /&gt;
        return(new BinaryNumeral((short) roman));&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static explicit operator RomanNumeral(&lt;br /&gt;
    BinaryNumeral binary)&lt;br /&gt;
    {&lt;br /&gt;
        return(new RomanNumeral((short) binary));&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private short value;&lt;br /&gt;
}&lt;br /&gt;
struct BinaryNumeral&lt;br /&gt;
{&lt;br /&gt;
    public BinaryNumeral(int value) &lt;br /&gt;
    {&lt;br /&gt;
        this.value = value;&lt;br /&gt;
    }&lt;br /&gt;
    public static implicit operator BinaryNumeral(&lt;br /&gt;
    int value) &lt;br /&gt;
    {&lt;br /&gt;
        BinaryNumeral    retval = new BinaryNumeral(value);&lt;br /&gt;
        return(retval);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator int(&lt;br /&gt;
    BinaryNumeral binary)&lt;br /&gt;
    {&lt;br /&gt;
        return(binary.value);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator string(&lt;br /&gt;
    BinaryNumeral binary)&lt;br /&gt;
    {&lt;br /&gt;
        StringBuilder    retval = new StringBuilder();&lt;br /&gt;
        &lt;br /&gt;
        return(retval.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private int value;&lt;br /&gt;
}&lt;br /&gt;
public class ConversionsConversionsBetweenStructs2&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        RomanNumeral    roman = new RomanNumeral(122);&lt;br /&gt;
        BinaryNumeral    binary;&lt;br /&gt;
        binary = roman;&lt;br /&gt;
        roman = (RomanNumeral) binary;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Conversions Between Structs 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
A Programmer&amp;quot;s Introduction to C# (Second Edition)&lt;br /&gt;
by Eric Gunnerson&lt;br /&gt;
Publisher: Apress  L.P.&lt;br /&gt;
ISBN: 1-893115-62-3&lt;br /&gt;
*/&lt;br /&gt;
// 24 - User-Defined Conversions\Conversions Between Structs&lt;br /&gt;
// copyright 2000 Eric Gunnerson&lt;br /&gt;
using System;&lt;br /&gt;
using System.Text;&lt;br /&gt;
struct RomanNumeral&lt;br /&gt;
{&lt;br /&gt;
    public RomanNumeral(short value) &lt;br /&gt;
    {&lt;br /&gt;
        if (value &amp;gt; 5000)&lt;br /&gt;
        throw(new ArgumentOutOfRangeException());&lt;br /&gt;
        &lt;br /&gt;
        this.value = value;&lt;br /&gt;
    }&lt;br /&gt;
    public static explicit operator RomanNumeral(&lt;br /&gt;
    short value) &lt;br /&gt;
    {&lt;br /&gt;
        RomanNumeral    retval;&lt;br /&gt;
        retval = new RomanNumeral(value);&lt;br /&gt;
        return(retval);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator short(&lt;br /&gt;
    RomanNumeral roman)&lt;br /&gt;
    {&lt;br /&gt;
        return(roman.value);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    static string NumberString(&lt;br /&gt;
    ref int value, int magnitude, char letter)&lt;br /&gt;
    {&lt;br /&gt;
        StringBuilder    numberString = new StringBuilder();&lt;br /&gt;
        &lt;br /&gt;
        while (value &amp;gt;= magnitude)&lt;br /&gt;
        {&lt;br /&gt;
            value -= magnitude;&lt;br /&gt;
            numberString.Append(letter);&lt;br /&gt;
        }&lt;br /&gt;
        return(numberString.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator string(&lt;br /&gt;
    RomanNumeral roman)&lt;br /&gt;
    {&lt;br /&gt;
        int        temp = roman.value;&lt;br /&gt;
        &lt;br /&gt;
        StringBuilder retval = new StringBuilder();&lt;br /&gt;
        &lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 1000, &amp;quot;M&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 500, &amp;quot;D&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 100, &amp;quot;C&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 50, &amp;quot;L&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 10, &amp;quot;X&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 5, &amp;quot;V&amp;quot;));&lt;br /&gt;
        retval.Append(RomanNumeral.NumberString(ref temp, 1, &amp;quot;I&amp;quot;));&lt;br /&gt;
        &lt;br /&gt;
        return(retval.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private short value;&lt;br /&gt;
}&lt;br /&gt;
struct BinaryNumeral&lt;br /&gt;
{&lt;br /&gt;
    public BinaryNumeral(int value) &lt;br /&gt;
    {&lt;br /&gt;
        this.value = value;&lt;br /&gt;
    }&lt;br /&gt;
    public static implicit operator BinaryNumeral(&lt;br /&gt;
    int value) &lt;br /&gt;
    {&lt;br /&gt;
        BinaryNumeral    retval = new BinaryNumeral(value);&lt;br /&gt;
        return(retval);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator int(&lt;br /&gt;
    BinaryNumeral binary)&lt;br /&gt;
    {&lt;br /&gt;
        return(binary.value);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public static implicit operator string(&lt;br /&gt;
    BinaryNumeral binary)&lt;br /&gt;
    {&lt;br /&gt;
        StringBuilder    retval = new StringBuilder();&lt;br /&gt;
        &lt;br /&gt;
        return(retval.ToString());&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private int value;&lt;br /&gt;
}&lt;br /&gt;
public class ConversionsBetweenStructs1&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        RomanNumeral    roman = new RomanNumeral(12);&lt;br /&gt;
        BinaryNumeral    binary;&lt;br /&gt;
        binary = (BinaryNumeral)(int)roman;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Copy a struct==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Copy a struct. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
// Define a structure. &lt;br /&gt;
struct MyStruct { &lt;br /&gt;
  public int x; &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
// Demonstrate structure assignment. &lt;br /&gt;
public class StructAssignment { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    MyStruct a; &lt;br /&gt;
    MyStruct b; &lt;br /&gt;
 &lt;br /&gt;
    a.x = 10; &lt;br /&gt;
    b.x = 20; &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;a.x {0}, b.x {1}&amp;quot;, a.x, b.x); &lt;br /&gt;
 &lt;br /&gt;
    a = b; &lt;br /&gt;
    b.x = 30; &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;a.x {0}, b.x {1}&amp;quot;, a.x, b.x); &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Define struct and use it==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * C# Programmers Pocket Consultant&lt;br /&gt;
 * Author: Gregory S. MacBeth&lt;br /&gt;
 * Email: gmacbeth@comporium.net&lt;br /&gt;
 * Create Date: June 27, 2003&lt;br /&gt;
 * Last Modified Date:&lt;br /&gt;
 */&lt;br /&gt;
using System;&lt;br /&gt;
namespace Client.Chapter_3___Structs__Enums__Arrays_and_Classes&lt;br /&gt;
{&lt;br /&gt;
  public struct MyStruct&lt;br /&gt;
  {&lt;br /&gt;
    public int MyInt;&lt;br /&gt;
    public long MyLong;&lt;br /&gt;
    public string MyString;&lt;br /&gt;
  }&lt;br /&gt;
  public class StructsChapter_3___Structs__Enums__Arrays_and_Classes&lt;br /&gt;
  {&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      MyStruct TheStruct;&lt;br /&gt;
      TheStruct.MyInt = 0;&lt;br /&gt;
      TheStruct.MyLong = 0;&lt;br /&gt;
      TheStruct.MyString = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Defining functions for structs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
struct Dimensions {&lt;br /&gt;
    public double Length;&lt;br /&gt;
    public double Width;&lt;br /&gt;
    Dimensions(double length, double width) { Length = length; Width = width; }&lt;br /&gt;
    public double Diagonal {&lt;br /&gt;
        get {&lt;br /&gt;
            return Math.Sqrt(Length * Length + Width * Width);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstates assignment operator on structures and classes.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
//&lt;br /&gt;
//  CmpStCls.cs -- Demonstates assignment operator on structures and classes.&lt;br /&gt;
//                 Compile this program with the following command line:&lt;br /&gt;
//                     C:&amp;gt;csc CmpStCls.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsCompare&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
//&lt;br /&gt;
// Define a structure containing the x and y coordinates of a point&lt;br /&gt;
    struct stPoint&lt;br /&gt;
    {&lt;br /&gt;
        public int cx;&lt;br /&gt;
        public int cy;&lt;br /&gt;
    }&lt;br /&gt;
//&lt;br /&gt;
// Define a class containing the x and y coordinates of a point&lt;br /&gt;
    class clsPoint&lt;br /&gt;
    {&lt;br /&gt;
        public int cx;&lt;br /&gt;
        public int cy;&lt;br /&gt;
    }&lt;br /&gt;
    public class CmpStCls&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
// Declare two structure variables&lt;br /&gt;
            stPoint spt1, spt2;&lt;br /&gt;
// Initialize the members of only one structure&lt;br /&gt;
            spt1.cx = 42;&lt;br /&gt;
            spt1.cy = 24;&lt;br /&gt;
// Assign the first structure to the first&lt;br /&gt;
            spt2 = spt1;&lt;br /&gt;
// Now modify the first structure&lt;br /&gt;
            spt1.cx = 12;&lt;br /&gt;
            spt1.cy = 18;&lt;br /&gt;
// Show the results&lt;br /&gt;
            Console.WriteLine (&amp;quot;For structures:&amp;quot;);&lt;br /&gt;
            Console.WriteLine (&amp;quot;\tThe point for spt1 is ({0}, {1})&amp;quot;, spt1.cx, spt1.cy);&lt;br /&gt;
            Console.WriteLine (&amp;quot;\tThe point for spt2 is ({0}, {1})&amp;quot;, spt2.cx, spt2.cy);&lt;br /&gt;
// Now do the same thing with instances of the class&lt;br /&gt;
            clsPoint cpt1, cpt2;&lt;br /&gt;
            cpt1 = new clsPoint();&lt;br /&gt;
// Initialize the members of only one class instance&lt;br /&gt;
            cpt1.cx = 42;&lt;br /&gt;
            cpt1.cy = 24;&lt;br /&gt;
// Assign the first class instance to the second&lt;br /&gt;
            cpt2 = cpt1;&lt;br /&gt;
// Modify the first class&lt;br /&gt;
            cpt1.cx = 12;&lt;br /&gt;
            cpt2.cy = 18;&lt;br /&gt;
// Show the results&lt;br /&gt;
            Console.WriteLine (&amp;quot;\r\nFor structures:&amp;quot;);&lt;br /&gt;
            Console.WriteLine (&amp;quot;\tThe point for cpt1 is ({0}, {1})&amp;quot;, cpt1.cx, cpt1.cy);&lt;br /&gt;
            Console.WriteLine (&amp;quot;\tThe point for cpt2 is ({0}, {1})&amp;quot;, cpt2.cx, cpt2.cy);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate a structure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Demonstrate a structure. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
// Define a structure. &lt;br /&gt;
struct Book { &lt;br /&gt;
  public string author; &lt;br /&gt;
  public string title; &lt;br /&gt;
  public int copyright; &lt;br /&gt;
 &lt;br /&gt;
  public Book(string a, string t, int c) { &lt;br /&gt;
    author = a; &lt;br /&gt;
    title = t; &lt;br /&gt;
    copyright = c; &lt;br /&gt;
  } &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
// Demonstrate Book structure. &lt;br /&gt;
public class StructDemo1 { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    Book book1 = new Book(&amp;quot;Herb Schildt&amp;quot;, &lt;br /&gt;
                          &amp;quot;C# A Beginner&amp;quot;s Guide&amp;quot;, &lt;br /&gt;
                          2001); // explicit constructor &lt;br /&gt;
 &lt;br /&gt;
    Book book2 = new Book(); // default constructor &lt;br /&gt;
    Book book3; // no constructor &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(book1.title + &amp;quot; by &amp;quot; + book1.author + &lt;br /&gt;
                      &amp;quot;, (c) &amp;quot; + book1.copyright); &lt;br /&gt;
    Console.WriteLine(); &lt;br /&gt;
 &lt;br /&gt;
    if(book2.title == null) &lt;br /&gt;
      Console.WriteLine(&amp;quot;book2.title is null.&amp;quot;); &lt;br /&gt;
    // now, give book2 some info &lt;br /&gt;
    book2.title = &amp;quot;Brave New World&amp;quot;; &lt;br /&gt;
    book2.author = &amp;quot;Aldous Huxley&amp;quot;; &lt;br /&gt;
    book2.copyright = 1932; &lt;br /&gt;
    Console.Write(&amp;quot;book2 now contains: &amp;quot;); &lt;br /&gt;
    Console.WriteLine(book2.title + &amp;quot; by &amp;quot; + book2.author + &lt;br /&gt;
                      &amp;quot;, (c) &amp;quot; + book2.copyright); &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(); &lt;br /&gt;
 &lt;br /&gt;
// Console.WriteLine(book3.title); // error, must initialize first &lt;br /&gt;
    book3.title = &amp;quot;Red Storm Rising&amp;quot;; &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(book3.title); // now OK &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==demonstrates a custom constructor function for a structure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
//  tm2.cs - demonstrates a custom constructor function for a structure&lt;br /&gt;
//           Compile this program using the following command line:&lt;br /&gt;
//               D:&amp;gt;csc tm2.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsStructure&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    using System.Globalization;&lt;br /&gt;
    struct tm&lt;br /&gt;
    {&lt;br /&gt;
        public tm (DateTime tmVal)&lt;br /&gt;
        {&lt;br /&gt;
            tm_sec = tmVal.Second;&lt;br /&gt;
            tm_min = tmVal.Minute;&lt;br /&gt;
            tm_hour = tmVal.Hour;&lt;br /&gt;
            tm_mday = tmVal.Day;&lt;br /&gt;
            tm_mon = tmVal.Month - 1;&lt;br /&gt;
            tm_year = tmVal.Year - 1900;&lt;br /&gt;
            tm_wday = (int) tmVal.DayOfWeek;&lt;br /&gt;
            tm_yday = tmVal.DayOfYear;&lt;br /&gt;
            TimeZone tz = TimeZone.CurrentTimeZone;&lt;br /&gt;
            tm_isdst = tz.IsDaylightSavingTime (tmVal) == true ? 1 : 0;&lt;br /&gt;
        }&lt;br /&gt;
        public int tm_sec;       // Seconds after the minute&lt;br /&gt;
        public int tm_min;       // Minutes after the hour &lt;br /&gt;
        public int tm_hour;      // Hours since midnight&lt;br /&gt;
        public int tm_mday;      // The day of the month&lt;br /&gt;
        public int tm_mon;       // The month (January = 0)&lt;br /&gt;
        public int tm_year;      // The year (00 = 1900)&lt;br /&gt;
        public int tm_wday;      // The day of the week (Sunday = 0)&lt;br /&gt;
        public int tm_yday;      // The day of the year (Jan. 1 = 1)&lt;br /&gt;
        public int tm_isdst;     // Flag to indicate if DST is in effect&lt;br /&gt;
        public override string ToString()&lt;br /&gt;
        {&lt;br /&gt;
            const string wDays = &amp;quot;SunMonTueWedThuFriSat&amp;quot;;&lt;br /&gt;
            const string months = &amp;quot;JanFebMarAprMayJunJulAugSepOctNovDec&amp;quot;;&lt;br /&gt;
            return (String.Format (&amp;quot;{0} {1} {2,2:00} &amp;quot; + &lt;br /&gt;
                            &amp;quot;{3,2:00}:{4,2:00}:{5,2:00} {6}\n&amp;quot;, &lt;br /&gt;
                             wDays.Substring (3 * tm_wday, 3),&lt;br /&gt;
                             months.Substring (3 * tm_mon, 3),&lt;br /&gt;
                             tm_mday, tm_hour, tm_min,&lt;br /&gt;
                             tm_sec, tm_year + 1900));&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public class tm2Demo&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main()&lt;br /&gt;
        {&lt;br /&gt;
            DateTime timeVal = DateTime.Now;&lt;br /&gt;
            tm tmNow = new tm (timeVal);&lt;br /&gt;
            Console.WriteLine (tmNow);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==demonstrates using a structure to return a group of variables from a function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
//  tm.cs - demonstrates using a structure to return a group of variables&lt;br /&gt;
//          from a function&lt;br /&gt;
//&lt;br /&gt;
//          Compile this program using the following command line:&lt;br /&gt;
//              D:&amp;gt;csc tm.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsStructure&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    using System.Globalization;&lt;br /&gt;
    public struct tm&lt;br /&gt;
    {&lt;br /&gt;
        public int tm_sec;       // Seconds after the minute&lt;br /&gt;
        public int tm_min;       // Minutes after the hour &lt;br /&gt;
        public int tm_hour;      // Hours since midnight&lt;br /&gt;
        public int tm_mday;      // The day of the month&lt;br /&gt;
        public int tm_mon;       // The month (January = 0)&lt;br /&gt;
        public int tm_year;      // The year (00 = 1900)&lt;br /&gt;
        public int tm_wday;      // The day of the week (Sunday = 0)&lt;br /&gt;
        public int tm_yday;      // The day of the year (Jan. 1 = 1)&lt;br /&gt;
        public int tm_isdst;     // Flag to indicate if DST is in effect&lt;br /&gt;
    }&lt;br /&gt;
    public class tmDemo&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main()&lt;br /&gt;
        {&lt;br /&gt;
            DateTime timeVal = DateTime.Now;&lt;br /&gt;
            tm tmNow = LocalTime (timeVal);&lt;br /&gt;
            string strTime = AscTime (tmNow);&lt;br /&gt;
            Console.WriteLine (strTime);&lt;br /&gt;
        }&lt;br /&gt;
        static public tm LocalTime(DateTime tmVal)&lt;br /&gt;
        {&lt;br /&gt;
            tm time;&lt;br /&gt;
            time.tm_sec = tmVal.Second;&lt;br /&gt;
            time.tm_min = tmVal.Minute;&lt;br /&gt;
            time.tm_hour = tmVal.Hour;&lt;br /&gt;
            time.tm_mday = tmVal.Day;&lt;br /&gt;
            time.tm_mon = tmVal.Month - 1;&lt;br /&gt;
            time.tm_year = tmVal.Year - 1900;&lt;br /&gt;
            time.tm_wday = (int) tmVal.DayOfWeek;&lt;br /&gt;
            time.tm_yday = tmVal.DayOfYear;&lt;br /&gt;
            TimeZone tz = TimeZone.CurrentTimeZone;&lt;br /&gt;
            time.tm_isdst = tz.IsDaylightSavingTime (tmVal) == true ? 1 : 0;&lt;br /&gt;
            return (time);&lt;br /&gt;
        }&lt;br /&gt;
//&lt;br /&gt;
//  Returns a string representing a time using UNIX format&lt;br /&gt;
        static public string AscTime (tm time)&lt;br /&gt;
        {&lt;br /&gt;
            const string wDays = &amp;quot;SunMonTueWedThuFriSat&amp;quot;;&lt;br /&gt;
            const string months = &amp;quot;JanFebMarAprMayJunJulAugSepOctNovDec&amp;quot;;&lt;br /&gt;
            string strTime = String.Format (&amp;quot;{0} {1} {2,2:00} &amp;quot; + &lt;br /&gt;
                            &amp;quot;{3,2:00}:{4,2:00}:{5,2:00} {6}\n&amp;quot;, &lt;br /&gt;
                             wDays.Substring (3 * time.tm_wday, 3),&lt;br /&gt;
                             months.Substring (3 * time.tm_mon, 3),&lt;br /&gt;
                             time.tm_mday, time.tm_hour,&lt;br /&gt;
                             time.tm_min, time.tm_sec, time.tm_year + 1900);&lt;br /&gt;
            return (strTime);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Illustrates the use of a struct==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example5_15.cs illustrates the use of a struct&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// declare the Rectangle struct&lt;br /&gt;
struct Rectangle&lt;br /&gt;
{&lt;br /&gt;
  // declare the fields&lt;br /&gt;
  public int Width;&lt;br /&gt;
  public int Height;&lt;br /&gt;
  // define a constructor&lt;br /&gt;
  public Rectangle(int Width, int Height)&lt;br /&gt;
  {&lt;br /&gt;
    this.Width = Width;&lt;br /&gt;
    this.Height = Height;&lt;br /&gt;
  }&lt;br /&gt;
  // define the Area() method&lt;br /&gt;
  public int Area()&lt;br /&gt;
  {&lt;br /&gt;
    return Width * Height;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Example5_15&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    // create an instance of a Rectangle&lt;br /&gt;
    System.Console.WriteLine(&amp;quot;Creating a Rectangle instance&amp;quot;);&lt;br /&gt;
    Rectangle myRectangle = new Rectangle(2, 3);&lt;br /&gt;
    // display the values for the Rectangle instance&lt;br /&gt;
    System.Console.WriteLine(&amp;quot;myRectangle.Width = &amp;quot; + myRectangle.Width);&lt;br /&gt;
    System.Console.WriteLine(&amp;quot;myRectangle.Height = &amp;quot; + myRectangle.Height);&lt;br /&gt;
    // call the Area() method of the Rectangle instance&lt;br /&gt;
    System.Console.WriteLine(&amp;quot;myRectangle.Area() = &amp;quot; + myRectangle.Area());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Issue an error message if you do not initialize all of the fields in  a structure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
//&lt;br /&gt;
//  Struct.cs - Issue an error message if you do not initialize all of&lt;br /&gt;
//              the fields in  a structure&lt;br /&gt;
//&lt;br /&gt;
//               Compile this program with the following command line:&lt;br /&gt;
//                   C:&amp;gt;csc Struct.cs&lt;br /&gt;
//&lt;br /&gt;
using System;&lt;br /&gt;
namespace nsStruct&lt;br /&gt;
{&lt;br /&gt;
    struct POINT&lt;br /&gt;
    {&lt;br /&gt;
        public int cx;&lt;br /&gt;
        public int cy;&lt;br /&gt;
        public int var;&lt;br /&gt;
        public override string ToString ()&lt;br /&gt;
        {&lt;br /&gt;
            return (&amp;quot;(&amp;quot; + cx + &amp;quot;, &amp;quot; + cy + &amp;quot;)&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public class StructDemo2&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
            POINT pt;&lt;br /&gt;
            pt.cx = 24;&lt;br /&gt;
            pt.cy = 42;&lt;br /&gt;
            Console.WriteLine (pt);&lt;br /&gt;
//            Console.WriteLine (&amp;quot;(&amp;quot; + pt.cx + &amp;quot;, &amp;quot; + pt.cy + &amp;quot;)&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Structs And Enums==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
struct Date {&lt;br /&gt;
    public Date(int ccyy, Month mm, int dd) {&lt;br /&gt;
        this.year = ccyy - 1900;&lt;br /&gt;
        this.month = mm;&lt;br /&gt;
        this.day = dd - 1;&lt;br /&gt;
    }&lt;br /&gt;
    public override string ToString() {&lt;br /&gt;
        return this.month + &amp;quot; &amp;quot; + (this.day + 1) + &amp;quot; &amp;quot; + (this.year + 1900);&lt;br /&gt;
    }&lt;br /&gt;
    private int year;&lt;br /&gt;
    private Month month;&lt;br /&gt;
    private int day;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
enum Month {&lt;br /&gt;
    January, February, March, April,&lt;br /&gt;
    May, June, July, August,&lt;br /&gt;
    September, October, November, December&lt;br /&gt;
}&lt;br /&gt;
class Program {&lt;br /&gt;
    static void Entrance() {&lt;br /&gt;
        Month first = Month.December;&lt;br /&gt;
        Console.WriteLine(first);&lt;br /&gt;
        first++;&lt;br /&gt;
        Console.WriteLine(first);&lt;br /&gt;
        Date defaultDate = new Date();&lt;br /&gt;
        Console.WriteLine(defaultDate);&lt;br /&gt;
        Date halloween = new Date(2008, Month.October, 31);&lt;br /&gt;
        Console.WriteLine(halloween);&lt;br /&gt;
    }&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        try {&lt;br /&gt;
            Entrance();&lt;br /&gt;
        } catch (Exception ex) {&lt;br /&gt;
            Console.WriteLine(ex.Message);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Structs (Value Types):A Point Struct==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
struct Point&lt;br /&gt;
{&lt;br /&gt;
    public Point(int x, int y)&lt;br /&gt;
    {&lt;br /&gt;
        this.x = x;&lt;br /&gt;
        this.y = y;&lt;br /&gt;
    }&lt;br /&gt;
    public override string ToString()&lt;br /&gt;
    {&lt;br /&gt;
        return(String.Format(&amp;quot;({0}, {1})&amp;quot;, x, y));&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public int x;&lt;br /&gt;
    public int y;&lt;br /&gt;
}&lt;br /&gt;
public class APointStruct&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Point    start = new Point(5, 5);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Start: {0}&amp;quot;, start);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Structs (Value Types):Structs and Constructors==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
struct Point&lt;br /&gt;
{&lt;br /&gt;
    int x;&lt;br /&gt;
    int y;&lt;br /&gt;
    &lt;br /&gt;
    Point(int x, int y)&lt;br /&gt;
    {&lt;br /&gt;
        this.x = x;&lt;br /&gt;
        this.y = y;&lt;br /&gt;
    }&lt;br /&gt;
    public override string ToString()&lt;br /&gt;
    {&lt;br /&gt;
        return(String.Format(&amp;quot;({0}, {1})&amp;quot;, x, y));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class StructsandConstructors&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Point[] points = new Point[5];&lt;br /&gt;
        Console.WriteLine(&amp;quot;[2] = {0}&amp;quot;, points[2]);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Structures are good when grouping data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Structures are good when grouping data. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
// Define a packet structure. &lt;br /&gt;
struct PacketHeader { &lt;br /&gt;
  public uint packNum; // packet number &lt;br /&gt;
  public ushort packLen; // length of packet &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
// Use PacketHeader to create an e-commerce transaction record. &lt;br /&gt;
class Transaction { &lt;br /&gt;
  static uint transacNum = 0; &lt;br /&gt;
 &lt;br /&gt;
  PacketHeader ph;  // incorporate PacketHeader into Transaction &lt;br /&gt;
  string accountNum; &lt;br /&gt;
  double amount; &lt;br /&gt;
 &lt;br /&gt;
  public Transaction(string acc, double val) { &lt;br /&gt;
   // create packet header &lt;br /&gt;
    ph.packNum = transacNum++;  &lt;br /&gt;
    ph.packLen = 512;  // arbitrary length &lt;br /&gt;
 &lt;br /&gt;
    accountNum = acc; &lt;br /&gt;
    amount = val; &lt;br /&gt;
  } &lt;br /&gt;
 &lt;br /&gt;
  // Simulate a transaction. &lt;br /&gt;
  public void sendTransaction() { &lt;br /&gt;
    Console.WriteLine(&amp;quot;Packet #: &amp;quot; + ph.packNum + &lt;br /&gt;
                      &amp;quot;, Length: &amp;quot; + ph.packLen + &lt;br /&gt;
                      &amp;quot;,\n    Account #: &amp;quot; + accountNum + &lt;br /&gt;
                      &amp;quot;, Amount: {0:C}\n&amp;quot;, amount); &lt;br /&gt;
  } &lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
// Demonstrate Packet &lt;br /&gt;
public class PacketDemo { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    Transaction t = new Transaction(&amp;quot;31243&amp;quot;, -100.12); &lt;br /&gt;
    Transaction t2 = new Transaction(&amp;quot;AB4655&amp;quot;, 345.25); &lt;br /&gt;
    Transaction t3 = new Transaction(&amp;quot;8475-09&amp;quot;, 9800.00); &lt;br /&gt;
 &lt;br /&gt;
    t.sendTransaction(); &lt;br /&gt;
    t2.sendTransaction(); &lt;br /&gt;
    t3.sendTransaction(); &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>