27 Mar

C# Queue Example

The Queue is a special collection which represents first-in, first-out concept of objects.

  • An element is added to the queue using the enqueue method. The statement’s general syntax is shown below:
queue.Enqueue("Obj");
  • To remove an element from the queue, the dequeue method is used. The dequeue operat on returns the queue’s last element. The statement’s general syntax is given below:
object obj = queue.Dequeue();

 

Queue Example:

Queue queue = new Queue();
queue.Enqueue("Obj1");
queue.Enqueue("Obj2");
queue.Enqueue("Obj3");

Console.WriteLine("The number of elements in the Queue: " + queue.Count);
Console.WriteLine("All objects");
foreach (Object obj in queue)
{
     Console.WriteLine(obj);
}

object obj1 = queue.Dequeue();
Console.WriteLine("First: " + obj1);

Console.WriteLine("Contains Obj1: " + queue.Contains("Obj1"));
Console.WriteLine("Contains Obj2: " + queue.Contains("Obj2"));

Program Output:
queue output

27 Mar

C# Hashtable Example

A hash table is a collection that is used to store key-value pairs. So the hash table stores 2 values while storing just one value like the stack, array list and queue. These 2 values are an element of the hash table.

  • To add an element to the queue, the Add method is used. The statement’s general syntax is given below.
ht.Add("key", "Value");
  • ContainsKey method is used to determine whether the Hashtable contains a specific key.
  • ContainsValue method is used to determine whether the Hashtable contains a specific value.

When you use foreach to enumerate hash table elements, the elements are retrieved as KeyValuePair objects.

            foreach (DictionaryEntry de in ht)
            {
                Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value);
            }

Hastable Example:

            
            Hashtable ht = new Hashtable();
            
            // Add key-value pairs
            ht.Add("key1", "Value1");
            ht.Add("key2", "Value2");
            ht.Add("key3", "Value3");

            bool hasKey1 = ht.ContainsKey("key1");
            bool hasValue2 = ht.ContainsValue("Value1");

            // When you use foreach to enumerate hash table elements,
            // the elements are retrieved as KeyValuePair objects.
            foreach (DictionaryEntry de in ht)
            {
                Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value);
            }

Program Output:
hashtable output

01 Jun

Select,Insert,Update,Delete Data in MySQL using C#

This example shows how to insert ,update, delete and select data in MySQL.
Firstly, you should install MySql Data Connector program.
https://dev.mysql.com/downloads/connector/net/6.9.html
Then, we need to add a reference to the MySyql.Data

  • Go to solution explorer of your project
  • Select add a reference
  • Click on .Net Tab
  • Select MySql.Data

Add Reference

Select Command Example:

            string connectionString = @"server=localhost;userid=user1;password=12345;database=mydb";

            MySqlConnection connection = null;
            MySqlDataReader reader = null;
            try
            {
                connection = new MySqlConnection(connectionString);
                connection.Open();

                string stm = "SELECT * FROM Customers";
                MySqlDataAdapter dataAdapter = new MySqlDataAdapter();
                dataAdapter.SelectCommand = new MySqlCommand(stm, connection);
                DataTable table = new DataTable();
                dataAdapter.Fill(table);
                return table;
            }
            finally
            {
                if (reader != null)
                    reader.Close();
                if (connection != null)
                    connection.Close();
            }

Insert Command Example:

            string connectionString = @"server=localhost;userid=user1;password=12345;database=mydb";

            MySqlConnection connection = null;
            try
            {
                connection = new MySqlConnection(connectionString);
                connection.Open();
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = connection;
                cmd.CommandText = "INSERT INTO Customers(Name) VALUES(@Name)";
                cmd.Prepare();

                cmd.Parameters.AddWithValue("@Name", "Bill Gates");
                cmd.ExecuteNonQuery();    
            }
            finally
            {
                if (connection != null)
                    connection.Close();
            }

Update Command Example:

            string connectionString = @"server=localhost;userid=user1;password=12345;database=mydb";

            MySqlConnection conn = null;
            MySqlTransaction tr = null;

            try
            {
                conn = new MySqlConnection(connectionString);
                conn.Open();
                tr = conn.BeginTransaction();

                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = conn;
                cmd.Transaction = tr;

                cmd.CommandText = "UPDATE Customers SET Name='Bill Gates' WHERE Id=1";
                cmd.ExecuteNonQuery();
                cmd.CommandText = "UPDATE Books SET Title='New Title' WHERE Id=2";
                cmd.ExecuteNonQuery();

                tr.Commit();

            }
            catch (MySqlException ex)
            {
                tr.Rollback();
            }
            finally
            {
                if (conn != null)
                    conn.Close();
            }

Delete Command Example:

            string connectionString = @"server=localhost;userid=user1;password=12345;database=mydb";
            MySqlConnection connection = null;
            try
            {
                connection = new MySqlConnection(connectionString);
                connection.Open();
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = connection;
                cmd.CommandText = "delete from Customers where ID='" + "1" + "';";
                cmd.ExecuteNonQuery();
            }
            finally
            {
                if (connection != null)
                    connection.Close();
            }

See Also: Select,Insert,Update,Delete Data in Access File using C#

10 Oct

C# Get Width And Height of a Window Using Windows API

This example shows how to get width and height of a window using Windows API.

Usage :

            RECT rect;
            UserControl uc = new UserControl();
            if (GetWindowRect(new HandleRef(uc, uc.Handle), out rect))
            {                
                //To do anything  
                int width = rect.Right - rect.Left;
                int height = rect.Bottom - rect.Top;
            }
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool GetWindowRect(HandleRef hWnd, out RECT lpRect);

        [StructLayout(LayoutKind.Sequential)]
        public struct RECT
        {
            public int Left;        // x position of upper-left corner
            public int Top;         // y position of upper-left corner
            public int Right;       // x position of lower-right corner
            public int Bottom;      // y position of lower-right corner
        }
11 Sep

Asynchronous Programming with Async And Await in C# .Net

This page shows how to use async and await keywords for asynchronous programming in C#.
We can avoid performance bottlenecks and enhance the overall responsiveness of our application by using asynchronous programming. However, traditional techniques for writing asynchronous applications can be complicated, making them difficult to write, debug, and maintain. This example uses async and await keywords that coming in .Net Framework 4.5.

Usage :

                Task<int> returnedTaskTResult = TaskOfTResult_MethodAsync();
                int result = await returnedTaskTResult;

Sample :

            // Signature specifies Task<TResult>
            async Task<int> TaskOfTResult_MethodAsync()
            {
                int result;
                // . . .
                // The body of the method should contain one or more await expressions.

                // Return statement specifies an integer result.
                return result;
            }
            
            // Signature specifies Task
            async Task Task_MethodAsync()
            {
                // The body of the method should contain one or more await expressions.

                // The method has no return statement.  
            }