<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Don-Jai : โดนใจ &#187; C#</title>
	<atom:link href="http://don-jai.com/content/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://don-jai.com</link>
	<description>โดนใจ.คอม : บล็อคของ nongoffna เพื่อบันทึกเรื่องราวโดนใจ ในเรื่องโดนๆ</description>
	<lastBuildDate>Fri, 03 Sep 2010 13:26:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>[C#] Convert HTML Special Characters ด้วย C#</title>
		<link>http://don-jai.com/convert-html-special-characters-with-c-sharp/</link>
		<comments>http://don-jai.com/convert-html-special-characters-with-c-sharp/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 08:36:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[โปรเจคจบ]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[HTML Special Characters]]></category>
		<category><![CDATA[HTML tag]]></category>
		<category><![CDATA[Special Characters]]></category>
		<category><![CDATA[การพัฒนาโปรแกรมบน Visual C# .NET]]></category>
		<category><![CDATA[โปรเจ็คจบ]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=4494</guid>
		<description><![CDATA[
เนื่องด้วยโปรเจ็คจบนั้นมีส่วนที่ต้องทำการดูดเนื้อหาจากเว็บไซต์และตัด tag ต่างๆ ออกให้หมดก่อนที่จะนำไปตรวจการลอกการบ้าน แต่เจ้า Special Characters ทั้งหลายที่ถูกแปลงเป็นรหัสต่างๆ เช่น &#8221; ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Convert_HTML_Special_Characters_with_csharp_main.jpg" src="/wp-content/uploads/2010/01/convert_special_characters/Convert_HTML_Special_Characters_with_csharp_main.jpg" border="0" alt="Convert_HTML_Special_Characters_with_csharp_main.jpg" width="520" height="191" align="middle" /></p>
<p style="text-align: left; padding-left: 30px;">เนื่องด้วยโปรเจ็คจบนั้นมีส่วนที่ต้องทำการดูดเนื้อหาจากเว็บไซต์และตัด tag ต่างๆ ออกให้หมดก่อนที่จะนำไปตรวจการลอกการบ้าน แต่เจ้า Special Characters ทั้งหลายที่ถูกแปลงเป็นรหัสต่างๆ เช่น &#8221; &amp;amp; &#8221; , &#8221; &amp;gt;&#8221; , &#8221; &amp;lt;&#8221; ทำให้เซอร์วิสเจ้งๆ ไป ก็เลยต้องมาหาวิธีในการแปลง HTML Entities กลับมาอยู่ในรูปแบบ Special Characters ที่ยังไม่ถูกแปลง<span id="more-4494"></span></p>
<ul>
<li>
<h3>รู้จัก HTML Special Characters กันก่อน</h3>
</li>
</ul>
<p style="padding-left: 30px;">อักขระพิเศษ (Special Character) นั่นก็คือตัวอักษรที่ช่วยในการสร้างเอกสาร HTML นอกเหนือจาก Tag และ Attribute ต่างๆ ตัวอย่างเช่นสัญลักษณ์ &amp; ก็จะถูกแทนด้วย &#8221; &amp;amp; &#8221; เป็นต้น</p>
<ul>
<li>
<h3>ขั้นตอนการ Convert  Special Characters เป็น HTML Entities ด้วย C#</h3>
</li>
</ul>
<p style="padding-left: 30px;">การ Convert  Special Characters เป็น HTML Entities ตัวอย่างเช่นเปลี่ยน &#8220;&amp;&#8221;, &#8220;&lt;&#8221;, &#8220;&gt;&#8221; เป็น&#8221; &amp;amp; &#8221; , &#8221; &amp;gt;&#8221; , &#8221; &amp;lt;&#8221;</p>
<ol>
<li>คลิกขวาที่โปรเจ็ค เลือก Add Reference</li>
<p style="text-align: center;"><img title="Convert_HTML_Special_Characters_with_csharp_2.jpg" src="/wp-content/uploads/2010/01/convert_special_characters/Convert_HTML_Special_Characters_with_csharp_2.jpg" border="0" alt="Convert_HTML_Special_Characters_with_csharp_2.jpg" width="261" height="339" align="middle" /></p>
<li>ที่แถบ .NET เลือก System.Web แล้วกด OK</li>
<p style="text-align: center;"><img title="Convert_HTML_Special_Characters_with_csharp_1.jpg" src="/wp-content/uploads/2010/01/convert_special_characters/Convert_HTML_Special_Characters_with_csharp_1.jpg" border="0" alt="Convert_HTML_Special_Characters_with_csharp_1.jpg" width="467" height="383" align="middle" /></p>
<li>ใช้คำสั่ง<strong> System.Web.HttpUtility.HtmlEncode(strRequest);</strong><br />
เมื่อ strRequest เป็น string ของ HTML ที่ต้องการเปลี่ยน</li>
</ol>
<ul>
<li>
<h3>ขั้นตอนการ Convert HTML Entities เป็น Special Characters ด้วย C#</h3>
</li>
</ul>
<p style="padding-left: 30px;">การ Convert HTML Entities เป็น Special Characters เปลี่ยน &#8221; &amp;amp; &#8221; , &#8221; &amp;gt;&#8221; , &#8221; &amp;lt;&#8221; เป็น &#8220;&amp;&#8221;, &#8220;&lt;&#8221;, &#8220;&gt;&#8221;</p>
<ol>
<li>คลิกขวาที่โปรเจ็ค เลือก Add Reference</li>
<p style="text-align: center;"><img title="Convert_HTML_Special_Characters_with_csharp_2.jpg" src="/wp-content/uploads/2010/01/convert_special_characters/Convert_HTML_Special_Characters_with_csharp_2.jpg" border="0" alt="Convert_HTML_Special_Characters_with_csharp_2.jpg" width="261" height="339" align="middle" /></p>
<li>ที่แถบ .NET เลือก  System.Web แล้วกด OK</li>
<p style="text-align: center;"><img title="Convert_HTML_Special_Characters_with_csharp_1.jpg" src="/wp-content/uploads/2010/01/convert_special_characters/Convert_HTML_Special_Characters_with_csharp_1.jpg" border="0" alt="Convert_HTML_Special_Characters_with_csharp_1.jpg" width="467" height="383" align="middle" /></p>
<li>ใช้คำสั่ง <strong>System.Web.HttpUtility.HtmlDecode(strRequest);</strong><br />
เมื่อ strRequest เป็น string ของ HTML ที่ต้องการเปลี่ยน</li>
</ol>
<ul>
<li>
<h3>ถ้าเกิดต้องการเขียนด้วยภาษา php</h3>
</li>
</ul>
<p style="padding-left: 30px;">- <a rel="rdfs-seeAlso" href="http://www.php.net/manual/en/function.htmlspecialchars-decode.php">htmlspecialchars_decode()</a> &#8211;  Convert special HTML entities back to characters</p>
<p style="padding-left: 30px;">- <a rel="rdfs-seeAlso" href="http://www.php.net/manual/en/function.htmlspecialchars.php">htmlspecialchars()</a> &#8211; Convert  special characters to HTML entities</p>
<ul>
<li>
<h3><strong>ตาราง </strong>Special Characters</h3>
</li>
</ul>
<p style="padding-left: 30px;"><a title="http://www.utexas.edu/learn/html/spchar.html" href="http://www.utexas.edu/learn/html/spchar.html" target="_blank">http://www.utexas.edu/learn/html/spchar.html</a></p>
<img src="http://don-jai.com/?ak_action=api_record_view&id=4494&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/convert-html-special-characters-with-c-sharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C#] การใช้งานฐานข้อมูล MySQL ด้วย C# : การใช้งานพื้นฐานอย่างการ Select, Insert, Update</title>
		<link>http://don-jai.com/c-sharp-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql/</link>
		<comments>http://don-jai.com/c-sharp-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 14:55:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Insert]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[ฐานข้อมูล]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=4400</guid>
		<description><![CDATA[
หลังจากดูตัวอย่างการใช้งานพื้นฐานอย่าง Insert ใน [C#] การใช้งานฐานข้อมูล MySQL  ด้วย C# : ...]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2009/12/mysql_connector_net/mysql_connector_net_main2.jpg" alt="mysql_connector_net_main2.jpg" title="mysql_connector_net_main2.jpg" align="middle" width="500" height="234" border="0" /><br />
หลังจากดูตัวอย่างการใช้งานพื้นฐานอย่าง Insert ใน <a title="Permanent Link to [C#] การใช้งานฐานข้อมูล MySQL  ด้วย C# : เตรียมความพร้อมและการเชื่อมต่อ" rel="bookmark" href="../c-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql-database-with-c-sharp/">[C#] การใช้งานฐานข้อมูล MySQL  ด้วย C# : เตรียมความพร้อมและการเชื่อมต่อ</a>ไปแล้ว ออฟก็เลยจะมาให้ตัวอย่างการใช้งานอย่าง Update, Select ข้อมูลกันบ้าง รวมไปถึงทิปและเทคนิคอีกนิดหน่อยอย่างการ insert วันที่ลงใน type datetime ซึ่งต้องมีการจัดรูปแบบกันนิดนึง รวมไปถึงการดึงค่า id หลังจากที่ insert ข้อมูลด้วย<span id="more-4400"></span></p>
<ul>
<li>
<h3>ตัวอย่างการใช้งานอย่าง Update</h3>
</li>
</ul>
<p style="padding-left: 30px;">การใช้งานไม่ต่างจากการ Insert เท่าไหร่นักเพียงเปลียนข้อมูลในส่วนของคำสั่ง SQL เท่านั้นเองค่า</p>
<pre name="code" class="c-sharp">
            //create connection string
            string ConnectionString = "SERVER=localhost;" +
                                      "DATABASE=sds_result;" +
                                      "UID=root;" +
                                      "PASSWORD=123456;";
            MySqlConnection connection = new MySqlConnection(ConnectionString);

            //Connecting to MySQL
            connection.Open();

            // Perform databse operations
            DateTime time = DateTime.Now;
            string time_finished = String.Format("{0:yyyy-MM-dd HH:mm:ss}", time);

            //SQL Command
            sql = "UPDATE sds_result ";
            sql += "SET status='1', result_xml='"+result+"', time_finished='"+time_finished+"'";
            sql += "WHERE id='"+jobid+"'";
            MySqlCommand cmd = new MySqlCommand(sql, connection);

            //Use ExecuteNonQuery to insert data.
            cmd.ExecuteNonQuery();

            //Close Connection
            connection.Close();
</pre>
<ul>
<li>
<h3>ตัวอย่างการใช้งานอย่าง Select หรือการดึงข้อมูลจากฐานข้อมูล</h3>
</li>
</ul>
<p style="padding-left: 30px;">การใช้งานจะต่างไปจากการ Insert และ update นิดหน่อยตรงส่วนของคำสั่ง SQL และการใช้  ExecuteReader :  ใช้ในการดึงข้อมูลจากฐานข้อมูล เช่น <span style="color: #3366ff;">cmd.ExecuteReader(); </span>แทน ExecuteNonQuery ซึ่งใช้ในการ insert และ delete ข้อมูล</p>
<pre name="code" class="c-sharp">
            //create connection string
            string ConnectionString = "SERVER=localhost;" +
                                      "DATABASE=sds_result;" +
                                      "UID=root;" +
                                      "PASSWORD=123456;";

            MySqlConnection connection = new MySqlConnection(ConnectionString);

            //Connecting to MySQL
            connection.Open();

            //SQL Command
            sql = "SELECT result_xml, file_submissions";
            sql += "FROM sds_result";
            sql += "WHERE status ='1' AND id='"+jobid;
            MySqlCommand cmd = new MySqlCommand(sql, connection);

            //Use ExecuteReader to query data
            cmd.ExecuteReader();

            //Close Connection
            connection.Close();
</pre>
<ul>
<li>
<h3>การ Insert วันที่ลงในฐานข้อมูล type datetime</h3>
</li>
</ul>
<p style="padding-left: 30px;">เมื่อเราต้องการเก็บค่าวันปัจจุบันลงในฐานข้อมูล เราต้องทำการจัดรูปแบบข้อมูลที่ได้มาก่อน เนื่องจากรูปแบบการเก็บวันที่ของ C# ที่ดึงวันที่ปัจจุบันนั้นจะอยู่ในรูปแบบของ แต่ในฐานข้อมูลฟิลด์ datetime จะมีการเก็บข้อมูลในรูปแบบของ yyyy-MM-dd HH:mm:ss เราก็เลยต้องทำการจัดรูปแบบกันก่อนนั่นเอง</p>
<ol>
<li>เก็บค่าวันและเวลาปัจจุบัน โดยใช้ <span style="color: #3366ff;">DateTime time = DateTime.Now;</span></li>
<li>ทำการจัดรูปแบบข้อมูลใหม่<br />
<span style="color: #3366ff;">string time_started = String.Format(&#8220;{0:yyyy-MM-dd HH:mm:ss}&#8221;, time);</span></li>
<li>จากนั้นค่อยนำค่า time_started เก็บลงฐานข้อมูล</li>
</ol>
<ul>
<li>
<h3>การดึงค่า id หลังจากที่ insert ข้อมูล</h3>
</li>
</ul>
<p style="padding-left: 30px;">เทคนิคนี้ก็ไม่ใช่เทคนิคพิเศษอะไรมากมายเพียงแต่ว่าบางครั้งหลังจากที่เรา Insert ข้อมูลลงฐานข้อมูลแล้วเราอาจจะต้อง ค่า auto increment อย่าง id ในตารางที่เราเพิ่งทำการใส่่ข้อมูลเข้าไป ตัวอย่างเช่นโปรเจ็คของออฟหลังจากที่ผู้ใช้ส่งการบ้านเข้ามาตรวจการลอกกับ Web service ตัว Web service เองจะทำการสร้าง record ในการตรวจและส่งค่า jobid กลับไปให้ก่อน เนื่องจากว่าการตรวจอาจจะต้องใช้เวลาทำให้ผู้ใช้ไม่สามารถได้รับผลที่ต้องการเลยทันที ดังนั้นหลังจากที่ออฟทำการสร้าง record เพื่อบันทึกการรับการบ้านเข้ามาตรวจแล้ว ออฟก็ต้องการ id เพื่อส่งคืนให้ผู้ใช้นั่นเอง</p>
<p style="padding-left: 30px;">การดึงค่า id หลังจากที่ insert ข้อมูล ก็ทำได้โดยใช้คำสั่ง LastInsertedId ซึ่งจะได้ผลออกมาเป็น long ถ้าต้องการแปลงเป็น int ก็ให้ใส่ (int) เข้าไปด้วย ตัวอย่างการใช้งาน<span style="color: #3366ff;"> int jobid = (int)cmd.LastInsertedId;</span></p>
<ul>
<li>
<h3>หมายเหตุ</h3>
</li>
</ul>
<p style="padding-left: 30px;">- ระำวังการนำโค้ดไปใช้ในส่วนของโค้ดที่มีเครื่องหมาย &#8221; &#8221; เนื่องจากเวลากอปไปวางแล้วอาจจะทำให้ไม่สามารถใช้งานโค้ดได้</p>
<img src="http://don-jai.com/?ak_action=api_record_view&id=4400&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/c-sharp-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C#] การใช้งานฐานข้อมูล MySQL ด้วย C# : เตรียมความพร้อมและการเชื่อมต่อ</title>
		<link>http://don-jai.com/c-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql-database-with-c-sharp/</link>
		<comments>http://don-jai.com/c-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql-database-with-c-sharp/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 05:53:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ฐานข้อมูล]]></category>
		<category><![CDATA[เชื่อมต่อ]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=4394</guid>
		<description><![CDATA[
วันนี้มาสรุปการใช้งานฐานข้อมูล MySQL ด้วย C# เอาไว้หลังจากที่ออฟใช้ในการทำงานโปรเจ็คแล้ว เรื่องที่สรุปก็มีในส่วนของการเชื่อมต่อฐานข้อมูล, การใช้ mysql connector/net ในการช่วยจัดการฐานข้อมูล ...]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2009/12/mysql_connector_net/mysql_connector_net_main.jpg" alt="mysql_connector_net_main.jpg" title="mysql_connector_net_main.jpg" align="middle" width="500" height="234" border="0" /><br />
วันนี้มาสรุปการใช้งานฐานข้อมูล MySQL ด้วย C# เอาไว้หลังจากที่ออฟใช้ในการทำงานโปรเจ็คแล้ว เรื่องที่สรุปก็มีในส่วนของการเชื่อมต่อฐานข้อมูล, การใช้ mysql connector/net ในการช่วยจัดการฐานข้อมูล MySQL, รวมถึงตัวอย่างการใช้งานพื้นฐานอย่างการ Insert <span id="more-4394"></span></p>
<h3>การ เตรียมความพร้อม</h3>
<ol>
<li>ติดตั้ง MySQL ให้เรียบร้อย</li>
<li>สร้างฐานข้อมูลใน MySQL อย่างของออฟสร้างตาราง sds_result<br />
CREATE TABLE `sds_result` (</p>
<div>`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT &#8216;job_id &#8216;,<br />
`status` BOOL NOT NULL COMMENT &#8216;สถานะของการตรวจ (true/false)&#8217;,<br />
`result_xml` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT &#8216;เก็บผลการตรวจเป็น (string)&#8217;,<br />
`time_started` DATETIME NOT NULL COMMENT &#8216;วัน-เวลาที่เีิิริ่มตรวจ&#8217;,<br />
`time_finished` DATETIME NULL COMMENT &#8216;วัน-เวลาที่ตรวจเสร็จ&#8217;</div>
<p>) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci COMMENT = &#8216;ตาราง sds_result :  เก็บผลการตรวจ&#8217;;</li>
<li>ดาวน์โหลด  mysql connector/net ซึ่งเป็นตัวช่วยในการใช้งาน MySQL ด้วยภาษา C# ให้ง่ายขึ้น  <a id="kw.2" title="http://dev.mysql.com/downloads/connector/net/6.2.html" href="http://dev.mysql.com/downloads/connector/net/6.2.html">http://dev.mysql.com/downloads/connector/net/6.2.html<br />
</a></li>
<li>ทำการ<span style="font-size: xx-small;"><span style="font-size: x-small;">ติดตั้ง </span></span> mysql  connector/net  <a id="lm3." title="http://dev.mysql.com/doc/refman/5.1/en/connector-net-installation-windows.html" href="http://dev.mysql.com/doc/refman/5.1/en/connector-net-installation-windows.html">http://dev.mysql.com/doc/refman/5.1/en/connector-net-installation-windows.html</a></li>
</ol>
<h3>เริ่มการใช้งานฐานข้อมูล MySQL ด้วย C# ด้วย Microsoft Visual C# 2008</h3>
<ol>
<li>เปิดโปรแกรม Microsoft Visual C# 2008 ขึ้นมา</li>
<li>ทำการสร้าง Project ใหม่</li>
<li>ทำการ add reference to: MySql.Data<br />
- คลิกขวาที่ Solution Explorer แล้วเลือก Add Reference&#8230;<br />
<img title="mysql_connector_net_add_reference_to_MySql_Data_2.jpg" src="/wp-content/uploads/2009/12/mysql_connector_net/mysql_connector_net_add_reference_to_MySql_Data_2.jpg" border="0" alt="mysql_connector_net_add_reference_to_MySql_Data_2.jpg" width="427" height="387" align="middle" /><br />
- ที่แทบ .NET เลือก MySql.Data<br />
<img title="mysql_connector_net_add_reference_to_MySql_Data.jpg" src="/wp-content/uploads/2009/12/mysql_connector_net/mysql_connector_net_add_reference_to_MySql_Data.jpg" border="0" alt="mysql_connector_net_add_reference_to_MySql_Data.jpg" width="467" height="383" align="middle" /></li>
<li>เรียกใช้งานโดย using MySql.Data.MySqlClient;</li>
</ol>
<h3>การเชื่อมต่อฐานข้อมูล MySQL ด้วย C# ด้วย Microsoft Visual C# 2008</h3>
<p><strong>หลักของการเชื่อมต่อและใช้งานก็คือ</strong></p>
<ol>
<li>connection string : เป็นส่วนกำหนดค่าว่า Server อะไร, ฐานข้อมูลชื่ออะไร, ชื่อผู้ใช้และรหัสผ่านในการเชื่อมต่อ ตัวอย่างเช่น<br />
<span style="color: #3366ff;">string ConnectionString = &#8220;SERVER=localhost;&#8221; +<br />
&#8220;DATABASE=sds_result;&#8221; +<br />
&#8220;UID=root;&#8221; +<br />
&#8220;PASSWORD=123456&#8243;;</span></li>
<li>MySqlConnection object เป็นตัวจัดการในการเชื่อมต่อกับฐานข้อมูล โดย MySqlConnection constructor จะรับ connection string เป็นพารามิเตอร์<br />
<span style="color: #3366ff;">MySqlConnection connection = new MySqlConnection(ConnectionString);</span></li>
<li>เริ่มการเชื่อมต่อ<br />
<span style="color: #3366ff;">connection.Open();</span></li>
<li>เขียนคำสั่ง SQL : ตัวอย่างการ Insert ข้อมูลใส่ในฟิลด์ status, file_submissions, time_started<br />
<span style="color: #3366ff;">sql = &#8220;INSERT INTO sds_result (status,file_submissions, time_started)&#8221;;<br />
sql += &#8220;VALUES (&#8217;0&#8242;,&#8217;&#8221; + file_submissions + &#8220;&#8216;,&#8217;&#8221; + time_started + &#8220;&#8216;)&#8221;;</span></li>
<li>ในการทำงานคำสั่ง SQL นั้นจะทำผ่าน MySqlCommand object<span style="color: #3366ff;"><br />
MySqlCommand cmd = new MySqlCommand(sql, connection);</span><br />
- ExecuteReader :  ใช้ในการดึงข้อมูลจากฐานข้อมูล เช่น <span style="color: #3366ff;">cmd.ExecuteReader();</span><br />
- ExecuteNonQuery : ใช้ในการ insert และ delete ข้อมูล เช่น <span style="color: #3366ff;">cmd.ExecuteNonQuery();</span></li>
<li>ปิดการเชื่อมต่อ<br />
<span style="color: #3366ff;">connection.Close();</span><span style="color: #3366ff;"></span></li>
</ol>
<p><strong>โค้ดตัวอย่างของการเชื่อมต่อและการ Insert ข้อมูล</strong></p>
<pre name="code" class="c-sharp">
            //create connection string
            string ConnectionString = "SERVER=localhost;" +
                                      "DATABASE=sds_result;" +
                                      "UID=root;" +
                                      "PASSWORD=123456;";
            MySqlConnection connection = new MySqlConnection(ConnectionString);

            //Connecting to MySQL
            connection.Open();

            // Perform database operations
            DateTime time = DateTime.Now;
            string time_started = String.Format("{0:yyyy-MM-dd HH:mm:ss}", time);
            int file_submissions = num;

            //SQL Command
            sql = "INSERT INTO sds_result (status,file_submissions, time_started)";
            sql += "VALUES ('0','" + file_submissions + "','" + time_started + "')";

            //When a connection has been created and opened, the code then creates a MySqlCommand object
            MySqlCommand cmd = new MySqlCommand(sql, connection);

            //Use ExecuteNonQuery to insert data.
            cmd.ExecuteNonQuery();

            //Close Connection
            connection.Close();
</pre>
<img src="http://don-jai.com/?ak_action=api_record_view&id=4394&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/c-%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%83%e0%b8%8a%e0%b9%89%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%90%e0%b8%b2%e0%b8%99%e0%b8%82%e0%b9%89%e0%b8%ad%e0%b8%a1%e0%b8%b9%e0%b8%a5-mysql-database-with-c-sharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C#] Delete the uploaded file in IIS server</title>
		<link>http://don-jai.com/c-delete-the-uploaded-file-in-iis-server/</link>
		<comments>http://don-jai.com/c-delete-the-uploaded-file-in-iis-server/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 05:48:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS server]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=4264</guid>
		<description><![CDATA[
หลังจากที่ทำการบันทึกไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิสแล้ว หลังจากนำไฟล์นั้นไปทำงานจนเสร็จ หากต้องการที่จะลบไฟล์ออกไปจะทำอย่างไรนั้น ขั้นตอนไม่ต่างไปจากการลบไฟล์ที่เก็บอยู่ในเครื่องเท่าไหร่ แต่ว่ามีการใช้ HostingEnvironment Class ที่อยู่ใน Namespace:  System.Web.Hosting ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Delete_the_uploaded_file_in_IIS_server_main.jpg" src="/wp-content/uploads/2009/11/Delete_the_uploaded_file_in_IIS_server_main.jpg" border="0" alt="Delete_the_uploaded_file_in_IIS_server_main.jpg" width="500" height="214" align="middle" /></p>
<p style="padding-left: 30px;">หลังจากที่ทำการบันทึกไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิสแล้ว หลังจากนำไฟล์นั้นไปทำงานจนเสร็จ หากต้องการที่จะลบไฟล์ออกไปจะทำอย่างไรนั้น ขั้นตอนไม่ต่างไปจากการลบไฟล์ที่เก็บอยู่ในเครื่องเท่าไหร่ แต่ว่ามีการใช้ HostingEnvironment Class ที่อยู่ใน Namespace:  System.Web.Hosting มาช่วย<span id="more-4264"></span></p>
<ul>
<li>
<h3>การลบไฟล์จาก directory ที่เก็บอยู่ในเครื่องแบบธรรมดา</h3>
</li>
</ul>
<ol>
<li>ใส่ using System.IO;</li>
<li>สร้่างตัวแปรมาเก็บ path ที่เก็บไฟล์<br />
string path = @&#8221;c:\temp\MyTest.txt&#8221;;</li>
<li>ทำการลบไฟล์<br />
File.Delete(path);</li>
</ol>
<ul>
<li>
<h3>การลบไฟล์ที่รับมาในโฟลเดอร์ของเว็บเซอร์วิส</h3>
</li>
</ul>
<ol>
<li>ใส่ using System.IO;</li>
<li>สร้างออบเจ็กต์ FileIn จาก System.IO.FileInfo class<br />
FileInfo FileIn = new FileInfo(System.Web.Hosting.HostingEnvironment.MapPath(&#8220;~/Compare2File/&#8221;+path)); ในที่นี้จะทำการลบไฟล์ที่ C:\Inetpub\wwwroot\SimDetect\Compare2File</li>
<li>ตรวจสอบว่าไฟล์นั้นมีอยู่หรือไม่โดยใช้ FileIn.Exists</li>
<li>ทำการลบไฟล์โดยใช้ FileIn.Delete</li>
<li>ตัวอย่างโค้ด
<pre name="code" class ="c-sharp">
    public void DeleteFile(string []fileName)
    {
        foreach(string path in fileName)
        {
            FileInfo FileIn = new FileInfo(System.Web.Hosting.HostingEnvironment.MapPath("~/Compare2File/"+path));
            if(FileIn.Exists)
            {
                FileIn.Delete();
            }
        }
    }
</pre>
</li>
</ol>
<img src="http://don-jai.com/?ak_action=api_record_view&id=4264&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/c-delete-the-uploaded-file-in-iis-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[C#] วิธีการเรียก class หรือ method ข้ามโปรเจ็ค</title>
		<link>http://don-jai.com/c-%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%81-class-another-project/</link>
		<comments>http://don-jai.com/c-%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%81-class-another-project/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 13:14:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[call function]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[Method]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ออฟ]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=4230</guid>
		<description><![CDATA[
ไม่รู้ว่าจะเป็นการเอามะพร้าวห้าวมาขายสวนรึเปล่าสำหรับเอนทรี่นี้ คนที่เขียนโปรแกรมโปรๆ คงเป็นเรื่องง่ายๆ อยู่แล้ว แต่บางเรื่องถ้าไม่เคยใช้มันก็ไม่รู้นี่นา แล้วสำหรับคนที่ไม่เคยเขียนโปรแกรมใหญ่ๆ หรือว่าต้องใช้มีการเรียกใช้เมธอดของโปรเจ็คอื่นอาจจะไม่เคยทำก็ได้ วันนี้ออฟก็เลยขอเอาเรื่องนี้มาอัพซะเลย


โปรเจ็คที่ต้องการเรียก class หรือ ...]]></description>
			<content:encoded><![CDATA[<p style="padding-left: 30px; text-align: center;"><img class="aligncenter" title="add_ref_csharp_main.jpg" src="/wp-content/uploads/2009/11/add_ref_csharp_main.jpg" border="0" alt="add_ref_csharp_main.jpg" width="500" height="225" align="middle" /></p>
<p style="padding-left: 30px;">ไม่รู้ว่าจะเป็นการเอามะพร้าวห้าวมาขายสวนรึเปล่าสำหรับเอนทรี่นี้ คนที่เขียนโปรแกรมโปรๆ คงเป็นเรื่องง่ายๆ อยู่แล้ว แต่บางเรื่องถ้าไม่เคยใช้มันก็ไม่รู้นี่นา แล้วสำหรับคนที่ไม่เคยเขียนโปรแกรมใหญ่ๆ หรือว่าต้องใช้มีการเรียกใช้เมธอดของโปรเจ็คอื่นอาจจะไม่เคยทำก็ได้ วันนี้ออฟก็เลยขอเอาเรื่องนี้มาอัพซะเลย<span id="more-4230"></span></p>
<ul>
<li>
<h3>โปรเจ็คที่ต้องการเรียก class หรือ method</h3>
</li>
</ul>
<ol>
<li>คลิกขวาที่โปรเจ็คที่ต้องการเรียก class แล้วเลือก properties</li>
<li>ที่แถบ Application ส่วนของ output type เลือก Class Library<br />
<img title="add_ref_csharp_2.jpg" src="/wp-content/uploads/2009/11/add_ref_csharp_2.jpg" border="0" alt="add_ref_csharp_2.jpg" width="264" height="94" align="middle" /></li>
</ol>
<ul>
<li>
<h3>โปรเจ็คที่ต้องการนำ Class หรือ method ไปใช้</h3>
</li>
</ul>
<ol>
<li>ที Solution Explorer เลือก Add Reference&#8230;</li>
<li>เลือกแทบ Project แล้วเลือก Project ที่ต้องการดึง class หรือ method มาใช้<br />
<img title="add_ref_csharp_3.jpg" src="/wp-content/uploads/2009/11/add_ref_csharp_3.jpg" border="0" alt="add_ref_csharp_3.jpg" width="467" height="383" align="middle" /></li>
<li>กด OK</li>
</ol>
<ul>
<li>
<h3>วิธีการนำ Class หรือ method จาก Project อื่นไปใช้</h3>
</li>
</ul>
<p style="padding-left: 30px;">ในที่นี้ออฟจะเรียกใ้ช้เมธอด ExtractText ของ คลา่ส DocxToText</p>
<ol>
<li>ที่ส่วนหัวของโค้ดในส่วนที่จะนำไปใช้ ทำการเีรียก namespace ที่เมธอดที่จะใช้ไปอยู่ ซึ่งในที่นี้คือ DocxToTextDemo<br />
using DocxToTextDemo;</li>
<li>ทำการสร้าง instance<br />
DocxToText dtt = new DocxToText(fileName);</li>
<li>ทำการเรียกเมธอดที่ต้องการ ในที่นี้้เรียกเมธอด ExtractText<br />
string content = dtt.ExtractText();</li>
</ol>
<img src="http://don-jai.com/?ak_action=api_record_view&id=4230&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/c-%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%81-class-another-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C#] ดึงข้อมูลจากเวบไซต์ที่เป็นภาษาไทยด้วย C# พร้อมตัด HTML tag</title>
		<link>http://don-jai.com/get-content-and-remove-html-tag-with-csharp/</link>
		<comments>http://don-jai.com/get-content-and-remove-html-tag-with-csharp/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 06:07:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[encode]]></category>
		<category><![CDATA[get content]]></category>
		<category><![CDATA[HTML tag]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=4168</guid>
		<description><![CDATA[
เนื่องด้วยโปรเจคจบของออฟมีส่วนที่ต้องทำการดึงข้อมูลจากเวบไซต์ที่เป็นภาษาไทย และต้องการนำข้อมูลส่วนที่ไม่ใ่ช่ HTML tag ต่างๆออกไปด้วย แบบว่าอยากได้แต่ข้อมูลเพรียวๆเลยนั่นแหละคะ พอทำได้แล้วก็เลยเอามาอัพบล็อคซะเลยเผื่อใครเจอปัญหาหรืออยากทำเหมือนกัน


ขั้นตอนหลักๆของการทำงาน



ทำการดึงข้อมูลจาก URL ที่ระบุ
ตัด Tag ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="RemoveHTMLtagwithCsharp.jpg" src="/wp-content/uploads/2009/11/RemoveHTMLtagwithCsharp.jpg" border="0" alt="RemoveHTMLtagwithCsharp.jpg" width="500" height="293" align="middle" /></p>
<p style="text-align: left; padding-left: 30px;">เนื่องด้วยโปรเจคจบของออฟมีส่วนที่ต้องทำการดึงข้อมูลจากเวบไซต์ที่เป็นภาษาไทย และต้องการนำข้อมูลส่วนที่ไม่ใ่ช่ HTML tag ต่างๆออกไปด้วย แบบว่าอยากได้แต่ข้อมูลเพรียวๆเลยนั่นแหละคะ พอทำได้แล้วก็เลยเอามาอัพบล็อคซะเลยเผื่อใครเจอปัญหาหรืออยากทำเหมือนกัน<span id="more-4168"></span></p>
<ul>
<li>
<h3>ขั้นตอนหลักๆของการทำงาน</h3>
</li>
</ul>
<ol>
<li>ทำการดึงข้อมูลจาก URL ที่ระบุ</li>
<li>ตัด Tag ต่างๆ ออกให้เหลือแต่ข้อมูล</li>
<li>ทำการเซฟข้อมูลที่ได้ลงไฟล์</li>
</ol>
<ul>
<li>
<h3>ทำการดึงข้อมูลจาก URL ที่ระบุ</h3>
</li>
</ul>
<pre name="code" class="c-sharp"> public void GetContentFromWeb()
    {
        WebClient objWebClient = new WebClient();
        String strURL = "http://don-jai.com/movie-the-ugly-truth/";
        String strRequest;
        UTF8Encoding objUTF8 = new UTF8Encoding();
        Byte[] byteRequest = objWebClient.DownloadData(strURL);
        string fileName = "web.txt";
        strRequest = objUTF8.GetString(byteRequest);
        string content = GetContent(strRequest);
        Byte[] f = System.Text.Encoding.UTF8.GetBytes(content);
        SaveFile(f, fileName);
    }</pre>
<ul>
<li>
<h3>ตัด Tag ต่างๆ ออกให้เหลือแต่ข้อมูล</h3>
</li>
</ul>
<pre name="code" class="c-sharp">
        public static string GetContent(string strRequest)
        {

            // Remove HTML Tag
            Regex regex = new Regex(@"\s]+))?)+\s*|\s*)/?>", RegexOptions.Singleline);
            MatchCollection matches = regex.Matches(strRequest);
            foreach (Match match in matches)
            {
                int begin = strRequest.IndexOf(match.Value);
                strRequest = strRequest.Remove(begin, match.Value.Length);
            }
            return strRequest;
        }
</pre>
<ul>
<li>
<h3>ทำการเซฟข้อมูลที่ได้ลงไฟล์</h3>
</li>
</ul>
<pre name="code" class="c-sharp">
    public string SaveFile(byte[] f, string fileName)
    {
        try
        {
            MemoryStream ms = new MemoryStream(f);
            FileStream fs = new FileStream
                (System.Web.Hosting.HostingEnvironment.MapPath("~/Compare2File/") +
                fileName, FileMode.Create);
            ms.WriteTo(fs);
            ms.Close();
            fs.Close();
            fs.Dispose();
            return "OK";
        }
        catch (Exception ex)
        {
            return ex.Message.ToString();
        }
    }
</pre>
<img src="http://don-jai.com/?ak_action=api_record_view&id=4168&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/get-content-and-remove-html-tag-with-csharp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[C#] ตรวจสอบไฟล์ว่ามีนามสกุลที่ต้องการรึเปล่า</title>
		<link>http://don-jai.com/c%e0%b8%95%e0%b8%a3%e0%b8%a7%e0%b8%88%e0%b8%aa%e0%b8%ad%e0%b8%9a%e0%b8%99%e0%b8%b2%e0%b8%a1%e0%b8%aa%e0%b8%81%e0%b8%b8%e0%b8%a5%e0%b9%84%e0%b8%9f%e0%b8%a5%e0%b9%8c/</link>
		<comments>http://don-jai.com/c%e0%b8%95%e0%b8%a3%e0%b8%a7%e0%b8%88%e0%b8%aa%e0%b8%ad%e0%b8%9a%e0%b8%99%e0%b8%b2%e0%b8%a1%e0%b8%aa%e0%b8%81%e0%b8%b8%e0%b8%a5%e0%b9%84%e0%b8%9f%e0%b8%a5%e0%b9%8c/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 04:52:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[โปรเจคจบ]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[valid]]></category>
		<category><![CDATA[ตรวจสอบ]]></category>
		<category><![CDATA[นามสกุล]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=3875</guid>
		<description><![CDATA[

ความต้องการ


- ต้องการเขียนโค้ด ภาษา c# ในการตรวจสอบว่าไฟล์ที่รับเข้ามามีนามสกุลที่ต้องการรึเปล่า
- ในที่นี้จะตรวจสอบว่าไฟล์มีนามสกุล .txt, .doc, .docx, .pdf ...]]></description>
			<content:encoded><![CDATA[<ul>
<li>
<h3>ความต้องการ</h3>
</li>
</ul>
<p style="padding-left: 30px;">- ต้องการเขียนโค้ด ภาษา c# ในการตรวจสอบว่าไฟล์ที่รับเข้ามามีนามสกุลที่ต้องการรึเปล่า<br />
- ในที่นี้จะตรวจสอบว่าไฟล์มีนามสกุล .txt, .doc, .docx, .pdf รึเปล่า</p>
<ul>
<li>
<h3>ขั้นตอนการตรวจสอบนามสกุลของไฟล์</h3>
</li>
</ul>
<ol>
<li>สร้าง Hash table เก็บค่าและนามสกุลของไฟล์ทั้งหมดที่จะใช้</li>
<li>รับไฟล์ที่ต้องการตรวจสอบ</li>
<li>ทำการตรวจสอบไฟล์</li>
</ol>
<ul>
<li>
<h3>Code ตัวอย่าง</h3>
<pre lang="csharp" line="1">
            string[] arrTypes = { ".doc", ".txt", ".docx", ".pdf" };
            Hashtable hsh = new Hashtable();
            hsh.Add("doc", ".doc");
            hsh.Add("txt", ".txt");
            hsh.Add("docx", ".docx");
            hsh.Add("pdf", ".pdf");
            string strExt = System.IO.Path.GetExtension("Path of the file");
             if (hsh.ContainsValue(strExt) == true)
             {
               //code for true part
             }
             else
             {
               //code for false part
             }
</pre>
</li>
</ul>
<ul>
<li>
<h3>เพิ่มเติม</h3>
</li>
</ul>
<p style="padding-left: 30px;">- ความรู้เพิ่มเติมเีกี่ยวกับการใช้ <a title="http://msdn.microsoft.com/en-us/library/system.io.path.getextension.aspx" href="http://msdn.microsoft.com/en-us/library/system.io.path.getextension.aspx" target="_blank">System.IO.Path.GetExtension</a></p>
<p style="padding-left: 30px;">- ความรู้เพิ่มเติมเีกี่ยวกับการใช้ <a title="http://msdn.microsoft.com/en-us/library/system.collections.hashtable.containsvalue.aspx" href="http://msdn.microsoft.com/en-us/library/system.collections.hashtable.containsvalue.aspx" target="_blank">Hashtable.ContainsValue Method</a></p>
<ul>
<li>
<h3>หมายเหตุ</h3>
</li>
</ul>
<p style="padding-left: 30px;">- สามารถตรวจสอบโดยใช้วิธี Regular expression ได้ด้วย ลองดูโค้ดที<a title="http://www.csharp411.com/check-valid-file-path-in-c/" href="http://www.csharp411.com/check-valid-file-path-in-c/" target="_blank"> http://www.csharp411.com/check-valid-file-path-in-c/</a></p>
<img src="http://don-jai.com/?ak_action=api_record_view&id=3875&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/c%e0%b8%95%e0%b8%a3%e0%b8%a7%e0%b8%88%e0%b8%aa%e0%b8%ad%e0%b8%9a%e0%b8%99%e0%b8%b2%e0%b8%a1%e0%b8%aa%e0%b8%81%e0%b8%b8%e0%b8%a5%e0%b9%84%e0%b8%9f%e0%b8%a5%e0%b9%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use Snippet in C#</title>
		<link>http://don-jai.com/how-to-use-snippet-in-c/</link>
		<comments>http://don-jai.com/how-to-use-snippet-in-c/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 15:17:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[การพัฒนาโปรแกรมบน Visual C# .NET]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=1748</guid>
		<description><![CDATA[What is  Code Snippet?
Code Snippet ที่เป็นคำสั่งพื้นฐานพวกที่มีลักษณะเป็น Block
How to use Snippet ...]]></description>
			<content:encoded><![CDATA[<h3>What is  Code Snippet?</h3>
<p style="padding-left: 30px;">Code Snippet ที่เป็นคำสั่งพื้นฐานพวกที่มีลักษณะเป็น Block</p>
<h3>How to use Snippet in C#</h3>
<p style="padding-left: 60px;">1. คลิกขวาบริเวณที่ต้องการแล้วเลือก Insert Snippet&#8230;</p>
<p style="padding-left: 90px;"><img title="snippet_1.jpg" src="/wp-content/uploads/2009/03/snippet_1.jpg" border="0" alt="snippet_1.jpg" width="493" height="694" align="middle" /></p>
<p style="padding-left: 60px;">2. เลือกหัวข้อที่ต้องการใช้ ในที่นี้ใช้ C#</p>
<p style="padding-left: 90px;"><img title="snippet_2.jpg" src="/wp-content/uploads/2009/03/snippet_2.jpg" border="0" alt="snippet_2.jpg" width="447" height="87" align="middle" /></p>
<p style="padding-left: 60px;">3. เลือกคำสั่งที่ต้องการใช้</p>
<p style="padding-left: 90px;"><img title="snippet_3.jpg" src="/wp-content/uploads/2009/03/snippet_3.jpg" border="0" alt="snippet_3.jpg" width="457" height="235" align="middle" /></p>
<p style="padding-left: 60px;">4. ถ้าหากจำคำสั่งหรือตัวย่อได้ให้กด ตัวย่อ+ tab+ tab</p>
<p style="padding-left: 60px;">5. ตัวอย่างเช่นถ้าเลือก cw+tab+ tab ก็จะได้ Console.WriteLine(); ออกมาเลย หรือถ้ากด for+tab+ tab ก็จะได้</p>
<p style="padding-left: 60px;">for (int i = 0; i &lt; length; i++)<br />
{</p>
<p>}</p>
<h3>เพิ่มเติม</h3>
</p>
<p style="padding-left: 60px;"><a title="http://en.wikipedia.org/wiki/Code_snippets" href="http://en.wikipedia.org/wiki/Code_snippets" target="_blank">http://en.wikipedia.org/wiki/Code_snippets</a><br />
<a title="http://ninkungz.exteen.com/20070904/code-snippet-visual-c-2005" href="http://ninkungz.exteen.com/20070904/code-snippet-visual-c-2005" target="_blank">http://ninkungz.exteen.com/20070904/code-snippet-visual-c-2005</a></p>
<img src="http://don-jai.com/?ak_action=api_record_view&id=1748&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/how-to-use-snippet-in-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[C#]Unit 4 String</title>
		<link>http://don-jai.com/cunit-4-string/</link>
		<comments>http://don-jai.com/cunit-4-string/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 02:45:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[ซีชาร์ป]]></category>
		<category><![CDATA[พื้นฐาน]]></category>
		<category><![CDATA[สตริง]]></category>
		<category><![CDATA[เขียนโปรแกรม]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=125</guid>
		<description><![CDATA[Unit 4 String
String &#62;&#62; เป็นสายของอักขระ หรือเป็นการนำเอา character หลายตัวมาต่อกันในลักษณะของอาร์เรย์ โดยมี Method ...]]></description>
			<content:encoded><![CDATA[<p>Unit 4 String</p>
<p><img src="http://don-jai.com/wp-content/uploads/2008/05/bot2.gif" alt="bot2.gif" />String &gt;&gt; เป็นสายของอักขระ หรือเป็นการนำเอา character หลายตัวมาต่อกันในลักษณะของอาร์เรย์ โดยมี Method ที่ำสำคัญ <a id="top" name="top"></a></p>
<p>String Method <a href="http://msdn.microsoft.com/en-us/library/system.string_methods(VS.80).aspx">more</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="center" valign="top"><a href="#Length">Length</a></td>
<td align="center" valign="top"><a href="#Compare">Compare</a></td>
<td align="center" valign="top"><a href="#Concat">Concat</a></td>
<td align="center" valign="top">
<ul> <a href="#Copy">Copy</a></ul>
</td>
</tr>
<tr>
<td align="center" valign="top"><a href="#CopyTo">CopyTo</a></td>
<td align="center" valign="top">
<ul> <a href="#Equals">Equals</a></ul>
</td>
<td align="center" valign="top"><a href="#IndexOf">IndexOf</a></td>
<td align="center" valign="top">
<ul> <a href="#Insert">Insert</a></ul>
</td>
</tr>
<tr>
<td align="center" valign="top">
<ul> <a href="#Remove">Remove</a></ul>
</td>
<td align="center" valign="top"><a href="#Replace">Replace</a></td>
<td align="center" valign="top">
<ul> <a href="#Split">Split </a></ul>
</td>
<td align="center" valign="top"><a href="#Substring">Substring</a></td>
</tr>
<tr>
<td align="center" valign="top">
<ul> <a href="#ToLower">ToLower </a></ul>
</td>
<td align="center" valign="top"><a href="#ToString">ToString</a></td>
<td align="center" valign="top"><a href="#ToUpper">ToUpper</a></td>
<td align="center" valign="top">
<ul> <a href="#TrimEnd">TrimEnd</a></ul>
</td>
</tr>
</tbody>
</table>
<ul>
<li>Length<a id="Length" name="Length"></a> &gt;&gt; เป็นการหาความยาวของสตริงที่กำหนด <a href="http://msdn.microsoft.com/en-us/library/system.string.length(VS.80).aspx " target="_blank">more</a> <a href="#top">top</a><br />
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">// Sample for  String.Length</p>
<p>using System;</p>
<p>class Sample</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str = &#8220;abcdefg&#8221;;</p>
<p>Console.WriteLine(&#8220;1) The length of &#8216;{0}&#8217; is {1}&#8221;, str,  str.Length);</p>
<p>Console.WriteLine(&#8220;2) The length of &#8216;{0}&#8217; is {1}&#8221;, &#8220;xyz&#8221;, &#8220;xyz&#8221;.Length);</p>
<p>}</p>
<p>}</p>
<p>/*This example  produces the following results:</p>
<p>1) The length of  &#8216;abcdefg&#8217; is 7</p>
<p>2) The length of  &#8216;xyz&#8217; is 3</p>
<p>*/</td>
</tr>
</tbody>
</table>
</li>
<li>Compare<a id="Compare" name="Compare"></a> &gt;&gt; ใช้ในการเปรียบเทียบสตริง 2 ตัว โดยหากตัวแรกยาวกว่าตัวที่สองจะคืนค่า 1 หากสั้นกว่าจะคื่นค่า -1 แต่ถ้าหากเท่ากันจะคืนค่า 0 <a href="http://msdn.microsoft.com/en-us/library/system.string.compare(VS.80).aspx" target="_blank">more</a> <a href="#top">top</a><br />
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>class Program</p>
<p>{</p>
<p>static void Main(string[] args)</p>
<p>{</p>
<p>string  str1 = &#8220;1&#8243;;</p>
<p>string  str2 = &#8220;12&#8243;;</p>
<p>string  str3 = &#8220;123&#8243;;</p>
<p>int  i = String.Compare(str1,str1);</p>
<p>int  j = String.Compare(str1, str3);</p>
<p>int  k = String.Compare(str3, str2);</p>
<p>Console.WriteLine(&#8220;{0}&#8221;,i); //  str1 = str1 so result = 0</p>
<p>Console.WriteLine(&#8220;{0}&#8221;, j); //  str1 &lt; str3 so result = -1</p>
<p>Console.WriteLine(&#8220;{0}&#8221;, k); //  str3 &gt; str2 so result = 1</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>Concat<a id="Concat" name="Concat"></a> &gt;&gt; เป็นการนำสตริงมาต่อกัน <a href="http://msdn.microsoft.com/en-us/library/system.string.concat(VS.80).aspx" target="_blank">more</a> <a href="#top">top</a><br />
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>class ConcatTest</p>
<p>{</p>
<p>static void Main(string[]  args)</p>
<p>{</p>
<p>string  str1 = &#8220;Hello&#8221;;</p>
<p>string  str2 = &#8220;World&#8221;;</p>
<p>string  str3 = String.Concat(str1,str2);</p>
<p>Console.WriteLine(str3);</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</p>
<p>// Result is HelloWorld</td>
</tr>
</tbody>
</table>
</li>
<li>Copy<a id="Copy" name="Copy"></a> &gt;&gt; เป็นการคัดลอกสตริง <a href="http://msdn.microsoft.com/en-us/library/system.string.copy(VS.80).aspx" target="_blank">more</a> <a href="#top">top</a><br />
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">// Sample for  String.Copy()</p>
<p>using System;</p>
<p>class Sample</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;abc&#8221;;</p>
<p>string  str2 = &#8220;xyz&#8221;;</p>
<p>str2 = String.Copy(str1);</p>
<p>Console.WriteLine(&#8220;str1 = &#8216;{0}&#8217;&#8221;, str1);</p>
<p>Console.WriteLine(&#8220;str2 = &#8216;{0}&#8217;&#8221;, str2);</p>
<p>}</p>
<p>}</p>
<p>/*This example  produces the following results:</p>
<p>str1 = &#8216;abc&#8217;</p>
<p>str2 = &#8216;abc&#8217;*/</td>
</tr>
</tbody>
</table>
</li>
<li>CopyTo<a id="CopyTo" name="CopyTo"></a> &gt;&gt; เป็นการคัดลอกอักขระตามจำนวน และตำแหน่งเริ่มต้นที่ระบุ ไปเก็บไว้ในรูปแบบของอาร์เรย์ <a href="http://msdn.microsoft.com/en-us/library/system.string.copyto(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class CopyToTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>// Embed an  array of characters in a string</p>
<p>string  strSource = &#8220;changed&#8221;;</p>
<p>char[]  destination = { &#8216;T&#8217;, &#8216;h&#8217;, &#8216;e&#8217;, &#8216; &#8216;, &#8216;i&#8217;, &#8216;n&#8217;, &#8216;i&#8217;, &#8216;t&#8217;, &#8216;i&#8217;, &#8216;a&#8217;, &#8216;l&#8217;, &#8216; &#8216;,</p>
<p>&#8216;a&#8217;, &#8216;r&#8217;,  &#8216;r&#8217;, &#8216;a&#8217;,  &#8216;y&#8217; };</p>
<p>// Print the  char array</p>
<p>Console.WriteLine(destination);</p>
<p>// Embed the  source string in the destination string</p>
<p>strSource.CopyTo(0, destination, 4,  strSource.Length);</p>
<p>// Print the  resulting array</p>
<p>Console.WriteLine(destination);</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>Equals<a id="Equals" name="Equals"></a> &gt;&gt; เปรียบเทียบว่าสตริง 2 ตัวเหมือนกันหรือไม่ หากเหมือนจะคืนค่า true <a href="http://msdn.microsoft.com/en-us/library/system.string.equals(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>using System.Text;</p>
<p>class Sample</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;aaa&#8221;;</p>
<p>string  str2 = &#8220;bbb&#8221;;</p>
<p>string  str3 = &#8220;bbb&#8221;;</p>
<p>bool x  = String.Equals(str1,str2);</p>
<p>bool y  = String.Equals(str2, str3);</p>
<p>Console.WriteLine(x);  // str1 is not equal str2,so result is Fault</p>
<p>Console.WriteLine(y);  // str2 is   equal str3,so result is True</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>IndexOf <a id="IndexOf" name="IndexOf"></a>&gt;&gt; เป็นการตรวจสอบตำแหน่งของอักขระในสตริงที่กำหนด หากมีสตริงซ้ำกันหลายตัวจะพิจารณาตัวแรกที่เจอ โดยตำแหน่งเริ่มต้นลำดับเป็น 0 <a href="http://msdn.microsoft.com/en-us/library/system.string.indexof(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class IndexOfTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;Today is Monday&#8221;;</p>
<p>int i =  str1.IndexOf(&#8220;is&#8221;);</p>
<p>Console.WriteLine(i);// result is 6</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>Insert<a id="Insert" name="Insert"></a> &gt;&gt; เป็นการแทรกสตริงเข้าไปในตำแหน่งที่กำหนด <a href="http://msdn.microsoft.com/en-us/library/system.string.insert(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class InsertTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;Today is Monday&#8221;;</p>
<p>str1 = str1.Insert(9,&#8221;not &#8220;);</p>
<p>Console.WriteLine(str1);</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>Remove<a id="Remove" name="Remove"></a> &gt;&gt;เป็นการลบสตริงจากตำแหน่งและจำนวนที่กำหนด <a href="http://msdn.microsoft.com/en-us/library/system.string.remove(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class RemoveTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;Today is not Monday&#8221;;</p>
<p>string  str2 = str1.Remove(9,3);</p>
<p>Console.WriteLine(str2);  //Result : Today is Monday</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>Replace<a id="Replace" name="Replace"></a>&gt;&gt; เป็นการแทนที่สตริงเดิมด้วยสตริงใหม่ <a href="http://msdn.microsoft.com/en-us/library/system.string.replace(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>class stringReplace1</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>String  str = &#8220;1 2 3 4 5 6 7 8 9&#8243;;</p>
<p>Console.WriteLine(&#8220;Original string: \&#8221;{0}\&#8221;",  str);</p>
<p>Console.WriteLine(&#8220;CSV string:       \&#8221;{0}\&#8221;", str.Replace(&#8216; &#8216;,  &#8216;,&#8217;));</p>
<p>}</p>
<p>}</p>
<p>// This example  produces the following output:</p>
<p>// Original  string: &#8220;1 2 3 4 5 6 7 8 9&#8243;</p>
<p>// CSV  string:      &#8220;1,2,3,4,5,6,7,8,9&#8243;</td>
</tr>
</tbody>
</table>
</li>
<li>Split <a id="Split" name="Split"></a>&gt;&gt; เป็นการคัดแยกสตริงด้วย character ที่กำหนด ผลลัพธ์ที่ได้เก็บไว้ในอาร์เรย์สตริง <a href="http://msdn.microsoft.com/en-us/library/system.string.split(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class SplitTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  words = &#8220;this is a list of words, with: a bit  of punctuation.&#8221;;</p>
<p>string[]  split = words.Split(new Char[] { &#8216; &#8216;, &#8216;,&#8217;, &#8216;.&#8217;, &#8216;:&#8217; });</p>
<p>foreach  (string s in  split)</p>
<p>{</p>
<p>if  (s.Trim() != &#8220;&#8221;)</p>
<p>Console.WriteLine(s);</p>
<p>}</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>Substring<a id="Substring" name="Substring"></a> &gt;&gt; เป็นการหาสตริงย่อยภายในสตริงที่กำหนด <a href="http://msdn.microsoft.com/en-us/library/system.string.substring(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class SubStringTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;Microsoft Visual C# &#8220;;</p>
<p>string  str2 = str1.Substring(0,9);</p>
<p>Console.WriteLine(str2);  //Result : Microsoft</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>ToLower<a id="ToLower" name="ToLower"></a> &gt;&gt; แปลงสตริงทั้งหมดเป็นตัวพิมพ์เล็ก <a href="http://msdn.microsoft.com/en-us/library/system.string.tolower(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class ToLowerTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;FRIENDS FOREVER&#8221;;</p>
<p>str1 = str1.ToLower();</p>
<p>Console.WriteLine(str1);  //Result : friends forever</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>ToString<a id="ToString" name="ToString"></a> &gt;&gt; แปลงค่าที่กำหนดให้เป็นสตริง <a href="http://msdn.microsoft.com/en-us/library/system.string.tostring(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>class stringToString</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>String  str1 = &#8220;123&#8243;;</p>
<p>String  str2 = &#8220;abc&#8221;;</p>
<p>Console.WriteLine(&#8220;Original str1: {0}&#8221;, str1);</p>
<p>Console.WriteLine(&#8220;Original str2: {0}&#8221;, str2);</p>
<p>Console.WriteLine(&#8220;str1 same as str2?: {0}&#8221;, Object.ReferenceEquals(str1, str2));</p>
<p>str2 = str1.ToString();</p>
<p>Console.WriteLine();</p>
<p>Console.WriteLine(&#8220;New str2:{0}&#8221;, str2);</p>
<p>Console.WriteLine(&#8220;str1 same as str2?: {0}&#8221;, Object.ReferenceEquals(str1, str2));</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</p>
<p>/*This code  produces the following output:</p>
<p>Original str1:  123</p>
<p>Original str2:  abc</p>
<p>str1 same as  str2?: False</p>
<p>New str2:123</p>
<p>str1 same as str2?: True*/</td>
</tr>
</tbody>
</table>
</li>
<li>ToUpper<a id="ToUpper" name="ToUpper"></a> &gt;&gt; แปลงสตริงทั้งหมดเป็นตัวพิมพ์ใหญ่ <a href="http://msdn.microsoft.com/en-us/library/system.string.toupper(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class ToUpperTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8221; friends forever&#8221;;</p>
<p>str1 = str1.ToLower();</p>
<p>Console.WriteLine(str1);  //Result : FRIENDS FOREVER</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>TrimEnd<a id="TrimEnd" name="TrimEnd"></a> &gt;&gt; ตัดช่องว่างที่อยู่ท้ายสตริงนั้นออก <a href="http://msdn.microsoft.com/en-us/library/system.string.trimend(VS.80).aspx" target="_blank">more</a><br />
<a href="#top">top</a></p>
<table border="1" width="650">
<tbody>
<tr>
<td align="left" valign="top">using System;</p>
<p>public class TrimTest</p>
<p>{</p>
<p>public static void Main()</p>
<p>{</p>
<p>string  str1 = &#8220;FRIENDS FOREVER &#8220;;</p>
<p>str1 = str1.TrimEnd();</p>
<p>Console.WriteLine(str1);  //Result : FRIENDS FOREVER</p>
<p>Console.Read();</p>
<p>}</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
</ul>
<img src="http://don-jai.com/?ak_action=api_record_view&id=125&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/cunit-4-string/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[C#]Unit 3 Array</title>
		<link>http://don-jai.com/cunit-3-array/</link>
		<comments>http://don-jai.com/cunit-3-array/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 02:44:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ซีชาร์ป]]></category>
		<category><![CDATA[พื้นฐาน]]></category>
		<category><![CDATA[อาร์เรย์]]></category>
		<category><![CDATA[เขียนโปรแกรม]]></category>

		<guid isPermaLink="false">http://don-jai.com/?p=124</guid>
		<description><![CDATA[Unit 3 Array
Array

รูปแบบในการสร้างอาร์เรย์ &#62;&#62; มีดังนี้




รูปแบบของคำสั่ง


ตัวอย่าง



DataType [] ArrayName = new DataType[Dimention];
int[] ...]]></description>
			<content:encoded><![CDATA[<p>Unit 3 Array</p>
<p><img src="http://don-jai.com/wp-content/uploads/2008/05/bot2.gif" alt="bot2.gif" />Array</p>
<ul>
<li>รูปแบบในการสร้างอาร์เรย์ &gt;&gt; มีดังนี้<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="352" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="282" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>DataType [] ArrayName = new DataType[Dimention];</td>
<td align="left" valign="top">int[] MyArray = new int[10];</td>
</tr>
</tbody>
</table>
<p>Dimention : มิติของอาร์เรย์ หรือจำนวนสมาชิก โดยที่สมาชิกตัวแรกจะมีลำดับเป็น 0 เสมอ</li>
<li>การกำหนดค่าให้อาร์เรย์ &gt;&gt; มี 2 วิธี1. กำหนดโดยการแจกแจงสมาชิกแต่ละตัว เช่น<br />
<table border="1" width="650">
<tbody>
<tr>
<td>MyArray[0] = 0;</p>
<p>MyArray[1] = 10;</p>
<p>MyArray[2] = 20;</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</td>
</tr>
</tbody>
</table>
<p>2. กำหนดในลักษณะของเซต</p>
<table border="1" width="650">
<tbody>
<tr>
<td width="392" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="242" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>DataType [] ArrayName = {element 1,element 2,&#8230;.element n}</td>
<td align="left" valign="top">int[] Arr = {100,200,300};</td>
</tr>
</tbody>
</table>
</li>
<li>การใช้ข้อมูลในอาร์เรย์<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="317" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="317" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>foreach (dataType variable in ArrayName){</p>
<p>statement;</p>
<p>}</td>
<td align="left" valign="top">foreach(int i in MyArray){</p>
<p>Console.WriteLine(i);</p>
<p>}</td>
</tr>
</tbody>
</table>
</li>
<li>การเรียงลำดับข้อมูลในอาร์เรย์<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="392" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="242" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>Array.Sort(ArrayName,Startndex,Length);</td>
<td align="left" valign="top">Array.Sort(MyArr,3,5);</td>
</tr>
</tbody>
</table>
<p>StartIndex : ลำดับเริ่มต้นในการเรียงลำดับ หากไม่ระบุหมายถึงเรียงทุกตัว</p>
<p>Length : จำนวนสมาชิกที่ต้องการเรียงลำดับนับจาก<br />
StartIndex</p>
<p>NOTE : ถ้าเป็นตัวเลขจะเรียงจากน้อยไปมาก แตุ่้ถ้าเป็นตัวอักษรจะเรียงจาก A-Z</li>
<li>การเรียงลำดับแบบย้อนกลับ<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="392" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="242" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>Array.Reverse(ArrayName,Startndex,Length);</td>
<td align="left" valign="top">Array.Reverse(MyArr,3,5);</td>
</tr>
</tbody>
</table>
</li>
<li>การคัดลอกอาร์เรย์<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="392" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="242" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>Array.Copy(SourceArray,SourceIndex,DesArray,DesIndex,Length);</td>
<td align="left" valign="top">Array.Copy(Arr1,5,Arr2,0,5);</td>
</tr>
</tbody>
</table>
<p>SourceArray : อารเรยที่ี่เราต้องการคัดลอกข้อมูล</p>
<p>SourceIndex : ตำแหน่งที่จะเริ่มทำการคัดลอกข้อมูล</p>
<p>DesArray : อาร์เรย์ที่เราต้องการนำข้อมูลใส่ลงไป</p>
<p>DesIndex : ตำแหน่งเริ่มแรกที่เราต้องการใส่ข้อมูลลงไป</p>
<p>Length : ความยาว หรือจำนวนสมาชิกที่ต้องการก๊อปปี้ไป</li>
<li>การลบค่าของอาร์เรย์<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="316" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="318" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>Array.Clear(ArrayName,Startndex,Length);</td>
<td align="left" valign="top">Array.Clear(MyArr,3,5);</td>
</tr>
</tbody>
</table>
</li>
<li>การตรวจสอบลำดับในอาร์เรย์<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="319" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="315" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>Array.IndexOf(ArrayName,Value);</td>
<td align="left" valign="top">Array.IndexOf(MyArr,&#8221;ddd&#8221;);</td>
</tr>
</tbody>
</table>
<p>Value : สมาชิกที่ต้องการทราบอันดับ</li>
<li>การหาความยาว<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="314" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="320" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td align="left" valign="top">ชื่อของอาร์เรย์.Length</td>
<td align="left" valign="top">int[] intArr = {1,2,3,4,5};</p>
<p>int len = intArr.Length; //len = 5</td>
</tr>
</tbody>
</table>
</li>
<li>การหาขอบเขตของอาร์เรย์1.ขอบเขตบน หรือสมาชิกตัวแรก (Upper Bound)<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="314" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="320" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td align="left" valign="top">ชื่อของอาร์เรย์.GetUpperBound(Dimension)</td>
<td align="left" valign="top">int[] intArr = {1,2,3,4,5};</p>
<p>int upper = intArr.GetUpperBound(0); // upper= 4</td>
</tr>
</tbody>
</table>
<p>2. ขอบเขตล่าง หรือสมาชิกตัวสุดท้าย (Lower Bound)</p>
<table border="1" width="650">
<tbody>
<tr>
<td width="314" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="320" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td align="left" valign="top">ชื่อของอาร์เรย์.GetLowerBound(Dimension)</td>
<td align="left" valign="top">int[] intArr = {1,2,3,4,5};</p>
<p>int lower = intArr.GetLowerBound(0); // lower = 0</td>
</tr>
</tbody>
</table>
</li>
<li>อาร์เรย์หลายมิติ &gt;&gt; อาร์เรย์ที่สมาชิกแต่ละตัวเก็บข้อมูลมากกว่า 1 ค่า ส่วนใหญ่จะใช้ไม่เกิน 2 มิติ<br />
<table border="1" width="650">
<tbody>
<tr>
<td width="407" align="left" valign="top">
<p align="center">รูปแบบของคำสั่ง</p>
</td>
<td width="227" align="left" valign="top">
<p align="center">ตัวอย่าง</p>
</td>
</tr>
<tr>
<td>DataType [,] ArrayName = new DataType[UpperB,LowerB];</td>
<td align="left" valign="top">int[] MyArray = new int[5,2];</td>
</tr>
</tbody>
</table>
</li>
<li>การกำหนดข้อมูลให้กับอาร์เรย์หลายมิติ1. กำหนดโดยการแจกแจงสมาชิกแต่ละตัว เช่น<br />
<table border="1" width="650">
<tbody>
<tr>
<td height="79">MyArr[0,0] = 0;</p>
<p>MyArr[0,1] = 1;</p>
<p>MyArr[1,0] = 2;</p>
<p>MyArr[1,1] = 3;</td>
</tr>
</tbody>
</table>
<p>2. กำหนดในลักษณะของเซต</p>
<table border="1" width="650">
<tbody>
<tr>
<td>int[,] MyArr ={{1,2} , {3,4} ,{5,6}};</p>
<p>string[,] animal = {{&#8220;ant,bird&#8221;},{&#8220;cat,dog&#8221;}};</td>
</tr>
</tbody>
</table>
</li>
</ul>
<img src="http://don-jai.com/?ak_action=api_record_view&id=124&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://don-jai.com/cunit-3-array/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
