2019/09/10 (增加連結)
在c#裡,using就類似java的import,namespace就類似java的package,c#是用":"來表示繼承 (詳參: https://msdn.microsoft.com/en-us/library/ms173149.aspx)。在c#裡,字串是string不是String,變數命名規則也跟java不太一樣 (其他程式碼規則,請詳參: https://docs.microsoft.com/zh-tw/dotnet/csharp/programming-guide/inside-a-program/coding-conventions),如:方法及變數的第一個字母是大寫而不是小寫。
using System.Web;
using System.Web.Mvc;
namespace MvcMovie.Controllers
{
public class HelloWorldController : Controller
{
//
// GET: /HelloWorld/
public string Index()
{
return "This is my <b>default</b> action...";
}
//
// GET: /HelloWorld/Welcome/
public string Welcome()
{
return "This is the Welcome action method...";
}
}
}
在 c#裡,有一些比java更簡潔的用法,例如: getter跟setter可以只要寫 get; set;。c#的資料形態也跟java稍有不同,如:decimal (詳參:https://msdn.microsoft.com/zh-tw/library/ms228360(v=vs.90).aspx)。
using System;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
}
當然也可以寫規則,如:
using System;
class TimePeriod
{
private double seconds;
public double Hours
{
get { return seconds / 3600; }
set {
if (value < 0 || value > 24)
throw new ArgumentOutOfRangeException(
$"{nameof(value)} must be between 0 and 24.");
seconds = value * 3600;
}
}
}