2015-09-11 19 views
15

Nếu tôi tạo một điều khiển ứng dụng bình thường với một điểm vào Main bình thường như sauC# Chuỗi và chuỗi. Tại sao Visual Studio xử lý chúng khác nhau?

using System; 

namespace ConsoleApp 
{ 
    public class Program 
    { 
     public static void Main(string[] args) 
     { 
      // do stuff 
     } 
    } 
} 

sau đó chọn nó trong phòng thu tất cả mọi thứ hình ảnh là tốt ..

enter image description here

Tuy nhiên, nếu tôi viết mã như sau ...

using System; 

namespace ConsoleApp 
{ 
    public class Program 
    { 
     public static void Main(String[] args) 
     { 
      // note the capital S in String 
     } 
    } 
} 

thì mọi thứ không ổn ...

enter image description here

Có ai biết tại sao nó không chọn lên các String [] nhưng hạnh phúc với string [] xin vui lòng?

chỉnh sửa: Trích xuất từ ​​nhận xét, nó có vẻ là lỗi trong Visual Studio 2012 và 2013. Có lẽ nó cũng có trong phiên bản trước nhưng dường như đã được sửa chữa trong VS2015. Nó không phải là một vấn đề cho mỗi se, và như đã nói mã vẫn biên dịch và thực hiện với một trong hai chuỗi [] hoặc String [] tôi muốn được quan tâm để biết nguyên nhân gây ra lỗi trong VS mặc dù. Tôi có thể tưởng tượng cửa sổ trình chỉnh sửa thuộc tính không phải là Using System;?

+3

Tôi có thể tạo lại điều này trong VS 2013, nhưng không phải trong VS 2015 – M4N

+3

Chỉ cần bỏ qua. Mã của bạn sẽ biên dịch và hoạt động tốt. Có vẻ như một trục trặc trong trình soạn thảo thuộc tính dự án. – niksofteng

+0

Bạn có thể giải thích tại sao điều này sẽ gây ra bất kỳ sự cố nào không? Có vẻ như họ đã sửa nó trong VS 2015 mặc dù –

Trả lời

4

Bạn có chắc chắn ví dụ sử dụng String của bạn thực sự biên dịch không?

Chữ thường string là từ khóa tương đương với sử dụng System.String; vì ví dụ của bạn không nhập không gian tên System, tôi hy vọng nó sẽ gây ra lỗi biên dịch có thể dẫn đến các thuộc tính của dự án không thể xác định phương thức Chính của bạn.

Thêm chỉ thị using System; vào tệp mã hoặc sử dụng rõ ràng System.String thay vì String để làm cho loại được biết đến trình biên dịch.

+0

Dường như nó hoạt động tốt. Nhưng các hành vi cho thấy trong hình ảnh (dự án khởi động được công nhận chỉ với chuỗi) thực sự xảy ra (ít nhất là trong VS 2012). – varocarbas

+0

ví dụ thực hiện nhập hệ thống. nó biên dịch một trong hai cách với chuỗi [] hoặc String []. câu hỏi đã chỉnh sửa để hiển thị số – SkeetJon

+0

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. –

Các vấn đề liên quan