Không có biến toàn cục nào trong C#. Một biến luôn luôn là phạm vi cục bộ. Đơn vị cơ bản của mã là lớp và trong lớp bạn có các trường, phương thức và thuộc tính.
Bạn có thể bắt chước "biến toàn cục" bằng cách tạo trường hoặc thuộc tính tĩnh công khai trong một số lớp, nhưng bạn không nên. C# làm cho điều này trở nên khó khăn vì một lý do rất tốt; các biến toàn cục là tà ác thuần túy. Họ vi phạm một số nguyên tắc tốt của thiết kế OO - đóng gói, khớp nối lỏng lẻo, và sự gắn kết cao, để đặt tên chỉ là một vài.
Tôi nhận ra đây là câu hỏi dành cho người mới bắt đầu, nhưng tôi nghĩ rằng đó là vì đây là câu hỏi dành cho người mới bắt đầu nên rất quan trọng khi nói điều này. Bây giờ là thời điểm tốt nhất để bắt đầu học những chiến thuật nào đang được khuyến khích hoặc thậm chí nguy hiểm trong C#, và sử dụng một trường tĩnh/thuộc tính như một biến toàn cầu là khoảng sáu trong số chúng. Có những cách sử dụng hợp pháp cho những cấu trúc này, nhưng việc truyền dữ liệu từ nơi này sang nơi khác không phải là một trong số chúng.
Nếu hai lớp khác nhau phụ thuộc vào cùng một thông tin, thì chuyển thông tin từ nguồn đến đích. Điều này thường được thực hiện thông qua constructor hoặc như một đối số cho phương thức được gọi. Bạn nên luôn luôn có một và chỉ một ví dụ thực sự "sở hữu" thông tin này; làm cho thông tin "toàn cầu" có nghĩa là bạn không thể lý luận về ai hoặc những gì có thể tùy thuộc vào nó tại bất kỳ thời điểm nào.
Hãy xem xét điều này và cố gắng suy nghĩ về các cách khác bạn có thể chia sẻ thông tin mà bạn muốn lưu trữ trong biến toàn cục (tức là cung cấp nó làm đối số cho hàm tạo hoặc phương thức). Nếu bạn không chắc chắn, hãy đăng một ví dụ về những gì bạn đang cố gắng làm và chúng tôi sẽ giúp bạn.
Cá nhân tôi khuyên bạn nên xóa cụm từ "biến toàn cục" khỏi từ vựng của bạn. – Aaronaught
để tham khảo trong tương lai, điều gì đó tầm thường, là điều bạn thấy đơn giản. – NerdFury