ProjectForStudy

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

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

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

    [LV.9]ConquerorII

    31

    กระทู้

    799

    โพสต์

    5083

    เครดิต

    RapterClaw

    Rank: 5Rank: 5

    เครดิต
    5083
    Ticket
    3197
    จิตพิสัย
    1886

    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
  • อารมณ์วันนี้
    เศร้า
    2019-9-26 17:01
  • เช็คชื่อแล้ว: 17 วัน

    [LV.4]BeginnerIII

    3

    กระทู้

    57

    โพสต์

    53

    เครดิต

    BabyGhost

    Rank: 1

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

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

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

    GMT+7, 2019-11-14 18:31 , Processed in 0.086573 second(s), 26 queries .

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

    © 2001-2013 Comsenz Inc.

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