iT邦幫忙

0

C#超級新手請教一個非常笨的問題

  • 分享至 

  • xImage

先介紹自己的底子
本身學過的語言只有C++和一點點Python
但以前沒在使用visual studio 這個ide寫code

最近開始對C Sharp好奇
於是載了visual stdio 2022作使用
專案的部分是選擇主控台程式
後面選項是選.NET core6(長期支援) /也只有這個能選/

想執行這個helloworld程式
卻出現了專案不知道如何執行設定檔

https://ithelp.ithome.com.tw/upload/images/20211216/20144855VFMdcJPihs.png

不知道我的問題是不會使用visual studio 前面設定不知道哪個環節出錯
抑或是c sharp語法有錯誤?

求解!!

Homura iT邦高手 1 級 ‧ 2021-12-16 09:49:44 檢舉
剛建立專案在沒動任何東西的狀況下一定要能跑
不能跑大概都是有東西沒裝好
Yaowen iT邦研究生 3 級 ‧ 2021-12-16 14:36:00 檢舉
應該ㄧ開始建立專案就會有namespace 吧...?!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
fillano
iT邦超人 1 級 ‧ 2021-12-16 07:40:33

寫這樣一行程式不會動的啦...通常建立一個Console應用程式專案,不是都會像這樣:

using System;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
看更多先前的回應...收起先前的回應...
fillano iT邦超人 1 級 ‧ 2021-12-16 07:46:22 檢舉

C#是類似Java這樣的純物件導向語言,沒有類別也沒有static void Main進入點,Console應用程式是無法執行的。

2022裡Net6.0的console專案就是這麼奇怪,只有一行也能跑..我測試是正常的
(編輯器裡找不到折疊碼,也沒像VBA那樣分段,直接用CODE打開CS檔也真的只有一行,沒有main()這樣的進入點...真的把CS變成BASIC了?我也好奇ing)

fillano iT邦超人 1 級 ‧ 2021-12-16 07:50:31 檢舉

是喔,那我應該下載來看看,我是用2019測的。

fillano iT邦超人 1 級 ‧ 2021-12-16 07:56:45 檢舉

看起來是C# 9新引入的規格:top level statement

fillano iT邦超人 1 級 ‧ 2021-12-16 08:03:41 檢舉

看起來像是個語法糖,編譯器會自動依照使用狀況(是否使用return或await)為最上層敘述加上不同的Main進入點。

總之,問題應該不是出在這裡/images/emoticon/emoticon37.gif

fillano iT邦超人 1 級 ‧ 2021-12-16 12:56:54 檢舉
fillano iT邦超人 1 級 ‧ 2021-12-16 12:57:53 檢舉

疑?海綿大已經回了,請忽略我的答案。

3
japhenchen
iT邦超人 1 級 ‧ 2021-12-16 07:47:58

你有更動任何安裝設定嗎?先確定一下你的作業系統有安裝Net6.0的執行環境(在VisualStudio Installer裡的個別元件裡有)https://ithelp.ithome.com.tw/upload/images/20211216/20117954obPUJZwPxF.jpg

專案屬性也先別去改動,留預設值
https://ithelp.ithome.com.tw/upload/images/20211216/20117954cHhlFEyNLS.jpg

在編輯器畫面上按下F5執行,即可編譯啟動程式(我真的試不出你畫面的錯誤內容,怪....)
https://ithelp.ithome.com.tw/upload/images/20211216/20117954fqT6zORb6K.jpg

這個【最上層陳述式】真的蠻特別的,突然有回到basic年代的感賊
https://ithelp.ithome.com.tw/upload/images/20211216/20117954MVj7FqFHw4.jpg

把剛剛的九九乘法表美化了一下https://ithelp.ithome.com.tw/upload/images/20211216/20117954NwyyujZk8W.jpg

//Console.WriteLine("Hello, World!");
for (int i = 2; i <= 9; i++)
{
    for (int j = 2; j <= 9; j++)
    {
        Console.SetCursorPosition((i - 2) * 13, j - 1);
        Console.WriteLine($" {i} × {j} = {i * j,2}");
    }
}

重點是........你的visual studio安裝時應該不要更動任何設定,先以標準安裝,日後再慢慢調整(等你熟了以後)

3
海綿寶寶
iT邦大神 1 級 ‧ 2021-12-16 08:32:35

依據一個月前這篇的說法
有兩個方法可以試:
1.Repair
2.Upgrade

0
阿飛
iT邦新手 5 級 ‧ 2021-12-17 06:41:54

建議新手不要先學dotnet6,因為這一版開始使用C# 10的版本,語法可以非常簡化,使用新版範本開始學,會看不到很多東西。我個人比較建議現在可以先用3.1版。
至於你說的錯誤怎麼修,我沒遇過所以不知道怎麼處理。不過範本的語法是對的,比較可能是設定或安裝上有問題。

的確,C#經過這麼多年來的演化,即使是我這個從.net 1.0 beta2開始用到現在的老手,對於新語法也可能會看不懂

Jason iT邦新手 4 級 ‧ 2022-03-08 15:40:33 檢舉

visual stdio永遠都只會有蔡鳥不會有老手,因為微軟一直在變

我要發表回答

立即登入回答