ProjectForStudy

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 45|ตอบกลับ: 1

[แบ่งปัน] เมื่อต้องการรวมผลใน Array(string) จะต้องทำอย่างไร

[คัดลอกลิงก์]
  • อารมณ์วันนี้
    แฮปปี้
    เมื่อวาน 09:58
  • เช็คชื่อแล้ว: 360 วัน

    [LV.8]ConquerorI

    29

    กระทู้

    737

    โพสต์

    4163

    เครดิต

    RapterClaw

    Rank: 5Rank: 5

    เครดิต
    4163
    Ticket
    2584
    จิตพิสัย
    1579

    Merciful MemberInstructor

    แก้ไขครั้งสุดท้ายโดย puklit เมื่อ 2019-9-7 13:00

    สวัสดีทุกท่าน วันนี้ ผมไปเจอกระทู้ใน Thaicreate อยู่ 1 กระทู้ถามเกี่ยวกับการรวมผลข้อมูลใน Array (ที่อยู่ในรูปแบบสตริง) และเพื่อให้ได้ผลลัพธ์อย่างถูกต้อง
    ควรทำอย่างไร

    [.NET] ทำไมบวกเลขใน String ที่มีค่า 200+500+900 แล้วไม่ได้ค่าที่บวกแล้ว = 1600 แต่ได้ค่าที่ออกมา = 1800 แทน อยากทราบว่า ต้องแก้ไข Code อย่างไร จึงจะได้ค่าที่บวกแล้ว = 1600 ซึ่งเป็นคำตอบที่ถูกต้องครับ

    https://www.thaicreate.com/dotnet/forum/134104.html

    โค้ดต้นฉบับของเจ้าของกระทู้ (เครดิตท่าน doanga2007 ) จาก ThaiCreate
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Web;
    5. using System.Web.UI;
    6. using System.Web.UI.WebControls;

    7. namespace ArraySumInASPNET
    8. {
    9.     public partial class Default : System.Web.UI.Page
    10.     {
    11.         protected void Page_Load(object sender, EventArgs e)
    12.         {
    13.             string[] arr = new string[]
    14.             {
    15.             "200",
    16.             "500",
    17.             "900"
    18.             };

    19.             long num = 0;
    20.             long num2 = 0;
    21.             for (int k = 0; k < arr.Length; k++)
    22.             {
    23.                 num = Convert.ToInt64(arr[k]);
    24.                 num2 += num;
    25.             }
    26.             sum1.Text = Convert.ToString(num2);
    27.         }
    28.     }
    29. }
    คัดลอกไปที่คลิปบอร์ด


    จุดที่ผมสนใจคือ ท่านเจ้าของกระทู้ได้คิดในรูปแบบพื้นฐานของการเขียนโค้ดจริง ๆ คือแจกแจงขั้นตอนการรวมผล โดยใช้ Loop เหมาะสมเป็นอย่างยิ่งกับการ
    หัดพื้นฐานเริ่มต้อนของการเขียนโปรแกรม เป็นอย่างมากเพราะจะทำให้เรารู้ลำดับขั้นตอน การทำงานของโค้ดอย่างชัดเจน แต่พอเขียนโปรแกรมไปได้ระยะหนึ่งแล้ว
    ทำให้เรารู้วิธี ลำดับ และกระบวนการที่จะได้มาของคำตอบแล้ว บางครั้งการแจกแจงตามตัวอย่างกระทู้ที่แนบมา บางครั้งเราถึงกับท้อหรือเกิดอาการเหนื่อยในการเขียนโค้ด
    โดยเฉพาะ Loop หรือกระบวนการทำงานเป็นอย่างมาก จึงเป็นที่มาของกระทู้ที่ผมเขียนขึ้นมานี้

    โดยผมจะใช้งาน LINQ และ Lambda Expression เข้ามาช่วยในการเขียนโค้ดให้อยู่ในรูปแบบ Functional programming
    ประโยชน์ของมันคือช่วยให้เราเขียนโค้ดได้กระชับยิ่งขึ้น ไม่ต้องเขียนเต็มรูปแบบ

    ตัวอย่างโจทย์ตามกระทู้ของ ThaiCreate ผมเขียนไหม่ได้ดังนี้

    VB


    C#


    สุดท้ายนี้ ผมไม่ได้ต้องการที่จะเปรียบเทียบว่าเขียนแบบไหนดีที่สุด ผมเพียงต้องการนำเสนอการเขียนโค้ดในรูปแบบที่กระชับมากขึ้น
    ทำให้เราเขียนโค้ดได้สั้นลง และไม่ต้องใช้เวลาอ่านโค้ดหลาย ๆ บรรทัดหากต้องการกลับมาแก้ไขหรือปรับปรุงโค้ดโปรแกรมที่เราเขียนขึ้นมา
    หวังว่ากระทู้นี้คงเป็นประโยชน์กับท่านสมาชิกหลาย ๆ ท่านในการนำไปใช้งานการเขียนโปรแกรมของท่านได้นะครับ


    ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

    คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

    x
  • อารมณ์วันนี้
    แฮปปี้
    3 วันที่แล้ว
  • เช็คชื่อแล้ว: 15 วัน

    [LV.4]BeginnerIII

    3

    กระทู้

    55

    โพสต์

    45

    เครดิต

    BabyGhost

    Rank: 1

    เครดิต
    45
    Ticket
    1
    จิตพิสัย
    44
    noomhk โพสต์ 2019-9-3 23:37:21 | ดูโพสต์ทั้งหมด
    ขอบคุณครับ
    ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

    รายละเอียดเครดิต

    ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|ProjectForStudy  

    GMT+7, 2019-9-22 08:54 , Processed in 0.066042 second(s), 28 queries .

    Powered by Discuz! X3.2 R20150609, Rev.38

    © 2001-2013 Comsenz Inc.

    ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้