01/10/2018, 00:00

Các bác cho em hỏi lệnh return trong C# có tác dụng gì? có giống như bên C++ không?

Em mới tự học C# được 2 ngày, thử làm chương trình tính toán. Cụ thể, khi em có thêm return vào thì khi nhập 1 số và 1 phép toán, chương trình sẽ không bị khựng lại; nhưng khi em bỏ return ra, chương trình sẽ lỗi ngay, chỉ khi em stop debug thì chương trình mới tắt. Bác nào rành về này chỉ giáo giúp em. Tks
p/s: code ở dưới:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace practice
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }

        private void labelKetQua_Click(object sender, EventArgs e)
        {

        }

        private void buttonTinhToan_Click(object sender, EventArgs e)
        {
            string strSoA = textBoxSoA.Text;
            string strSoB = textBoxSoB.Text;
            // Kiểm tra có nhập số chưa
            if (strSoA == "" && strSoB == "")
            {
                MessageBox.Show("Bạn chưa nhập cả hai số");
                return; // tại sao khi bỏ các lệnh return thì chương trình lỗi, các lệnh return này có tác dụng gì bên C#?
            }
            else if (strSoA == "") 
            {
                MessageBox.Show("Bạn chưa nhập số A");
                return;
            }
            else if (strSoB == "")
            {
                MessageBox.Show("Bạn chưa nhập số B");
                return;
            }
            // kiểm tra phép toán và tính toán
            string phepToan = comboBoxPhepToan.Text;
            switch (phepToan)
            {
                case "+":
                    textBoxKetQua.Text = Convert.ToString(Convert.ToInt16(strSoA) + Convert.ToInt16(strSoB));
                    break;
                case "-":
                    textBoxKetQua.Text = Convert.ToString(Convert.ToInt16(strSoA) - Convert.ToInt16(strSoB));
                    break;
                case "*":
                    textBoxKetQua.Text = Convert.ToString(Convert.ToInt16(strSoA) * Convert.ToInt16(strSoB));
                    break;
                case "/":
                    textBoxKetQua.Text = Convert.ToString(Convert.ToDouble(strSoA) / Convert.ToDouble(strSoB));
                    break;
                case "chia lấy dư":
                    textBoxKetQua.Text = Convert.ToString(Convert.ToInt16(strSoA) % Convert.ToInt16(strSoB));
                    break;
                default:
                    MessageBox.Show("Bạn chưa chọn phép toán");
                    break;
            }
        }
    }

}

Trọng Nghĩa viết 02:08 ngày 01/10/2018

Giống.
Các lệnh return đơn giản để thoát khỏi function, bạn học C++ mà chưa bao giờ dùng return; sao?

Huynh Phu viết 02:02 ngày 01/10/2018

em có sài chứ, return bên C++ là trả giá trị cho hàm, hoặc dừng hàm. Nhưng trong C# này, mới mò mẫm đc 2 ngày, không rõ cái nào là hàm của nó. Vậy trong đoạn code này, return sẽ dừng lại cái private void buttonTinhToan_Click phải k bác?

Trọng Nghĩa viết 02:02 ngày 01/10/2018

Đúng rồi, nó dừng hàm void như bên C++ vậy.

Hàm này khác C++ là nó mô tả event thôi.

Huynh Phu viết 02:16 ngày 01/10/2018

cảm ơn bác rất nhiều

Quân viết 02:15 ngày 01/10/2018

return thì ngôn ngữ nào chả giống nhau, sao hỏi câu ngớ ngẩn thế nhỉ

Huynh Phu viết 02:00 ngày 01/10/2018

thì chân ướt chân ráo qua C# nên có biết rành rõ như thế nào đâu, đang ngớ ngẩn không rõ thì mình hỏi thôi

Bài liên quan
0