Tôi mới sử dụng C#. Tôi đã thử điều này với tham số trong C#Tham số ngoài trong C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class First
{
public void fun(out int m)
{
m *= 10;
Console.WriteLine("value of m = " + m);
}
}
class Program
{
static void Main(string[] args)
{
First f = new First();
int x = 30;
f.fun(out x);
}
}
nhưng tôi nhận được một số lỗi như "Sử dụng unassigned ra tham số 'm'" và
Tham số ra 'm' phải được giao cho trước kiểm soát lá phương pháp hiện tại.
Vì vậy, ý nghĩa của các lỗi này là gì và tại sao nó là bắt buộc để gán 'm' khi tôi đã được gán một giá trị cho x. Các thông số
Bạn đang nhầm lẫn các tham số 'out' với tham số' ref'. 'fun()' không có quyền truy cập vào giá trị trước đó của bất kỳ 'm' nào trỏ vào, và do đó không thể nhân nó. Sự khác biệt này là cố ý, các tham số 'out' có nghĩa là cho phép bạn có nhiều giá trị trả lại. Nó giống như bạn đang cố tạo một hàm nhân giá trị của biến mà kết quả của nó được gán cho nó. – millimoose