默认基类实现: 抽象方法不能有实现,虚方法必须实现
csharp
public abstract class Animal
{
// 抽象方法 - 不能有实现体,必须用分号结尾
public abstract void MakeSound();
// 错误:抽象方法不能有实现
// public abstract void MakeSound() { } // 编译错误
}
csharp
public class Animal
{
// 虚方法 - 必须有默认实现
public virtual void MakeSound()
{
Console.WriteLine("Some generic animal sound");
}
}
csharp
int GetWeek(DateTime dt, CultureInfo ci)
{
//throw new NotImplementedException();
return ci.Calendar.GetWeekOfYear(dt, ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek);
}
参数/属性
作用
dt (DateTime)
你想要计算周数的那个具体日期和时间。
ci (CultureInfo)
一个"规则包",指定了地区文化的相关设置。
ci.DateTimeFormat.CalendarWeekRule
定义了如何划定一年的第一周。例如,是包含1月1日的那周,还是第一个包含至少4天的周。
ci.DateTimeFormat.FirstDayOfWeek
定义了一周从哪一天开始。常见的有周日(如美国)或周一(如中国、以及ISO 8601国际标准)。
你的代码 return ci.Calendar.GetWeekOfYear(dt, ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek);正是将这三个要素传递给了核心计算方法,并直接返回结果

csharp
using System.Net;
using System.Net.Sockets;
namespace SocketComm
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
#region Socket tcp 服务端
{
Socket socket = new Socket(
AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp
);
socket.Bind(new IPEndPoint(IPAddress.Any, 9000));
socket.Listen();
Console.WriteLine("服务监听已启动...");
}
#endregion
Console.ReadLine();
}
}
}


netstat -aon|findstr "9000"
netstat -aon|findstr "9000"是一个在 Windows 命令提示符中常用的组合命令,用于查找占用特定端口(此处为9000)的进程信息。
