乙個代表年月的類YearMonth

2021-09-05 23:30:51 字數 3351 閱讀 2430

測試(vs自帶框架):

using system;

using microsoft.visualstudio.testtools.unittesting;

/// ///this is a test class for yearmonthtest and is intended

///to contain all yearmonthtest unit tests

///[testclass()]

public class yearmonthtest

/// ///a test for yearmonth constructor

///[testmethod()]

public void yearmonthconstructortest1()

/// ///a test for getdate

///[testmethod()]

public void getdatetest()

[testmethod]

public void getdatethrows()

/// ///a test for tostring

///[testmethod()]

public void tostringtest()

/// ///a test for isvalid

///[testmethod()]

public void isvalidtest()

/// ///a test for equals

///[testmethod()]

public void equalstest()

/// ///a test for tryparse

///[testmethod()]

public void tryparsetest()

/// ///a test for parse

///[testmethod()]

public void parsetest()

[testmethod]

public void parsethrows()

/// ///a test for addyears

///[testmethod()]

public void addyearstest()

/// ///a test for addmonths

///[testmethod()]

public void addmonthstest()

static bool throws(type exceptiontype, action action)

catch (exception ex)

return false;

}}

**:

using system;

using system.linq;

/// /// 代表乙個年份中的某個指定月份. 如:2023年10月.

///

public sealed class yearmonth

/// /// 根據指定日期所在的月份構造乙個 yearmonth 物件.

///

/// 指定的日期.它的年份和月份部分會作為構造的yearmonth的值使用.

public yearmonth(datetime date)

public int year

}public int month

}/// /// 是否是有效的值.無效的值可能是年份小於1, 或年份大於9999, 或月份小於1, 或月份大於12.

///

public bool isvalid

}/// /// 獲取代表該月指定日期的 datetime 物件

///

/// 日期,範圍1到31.

/// day大於本月的天數.

public datetime getdate(int day)

/// /// 返回乙個新yearmonth物件,其值為當前物件的值加上指定個年份

///

/// 要在當前年月上增加多少年

public yearmonth addyears(int value)

/// /// 返回乙個新yearmonth物件,其值為當前物件的值加上指定個月份

///

/// 要在當前年月上增加多少個月

public yearmonth addmonths(int value)

return new yearmonth(year, month);

}/// /// 返回數字代表的年月份值,共6位數字,前4位代表年份,後兩位代表月份,如:200805

///

public override string tostring()

".formatwith(year, month);

}/// /// 判斷乙個是否與當前物件代表相同的值的yearmonth物件.

///

public override bool equals(object obj)

/// ///判斷另乙個yearmonth物件是否與當前物件代表相同的值.

///

public bool equals(yearmonth rhs)

public override int gethashcode()

}public static bool operator ==(yearmonth lhs, yearmonth rhs)

public static bool operator !=(yearmonth lhs, yearmonth rhs)

public static bool tryparse(string s, out yearmonth result)

catch (argumentexception)

}/// /// 通過解析字串構造乙個yearmonth物件.

///

/// 要解析的字串.

/// s為null.

/// s包含非數字字元,或s的長度不為6.

public static yearmonth parse(string s)

}

輔助方法:

public static class stringextensions

public static string formatwith(this string format, object arg0, object arg1)

public static string formatwith(this string format, object arg0, object arg1, object arg2)

}

乙個醫藥代表的三年

來自 噴嚏網 讀書 培訓 8小時外的健康生活 之 鉑程齋 xilei發表 收錄於昨天 7分享 4月10日早晨8點整,呂雯像上班一樣,出現在北京某醫院門診部門口。下午5點,下班 了,呂雯離開醫院,回家。這樣的 作息時間 已經執行了半個月。半個月前,公司下達了新的藥品開發任務。從那以後,她每天都要泡在這...

聊聊迴圈的小套路 取乙個變數代表乙個事件

當我們要解決一些問題時,碰到的並不都是能輕易驗證為真的問題 譬如我們想要求一定範圍內的素數,運用迴圈結構,只有在最後乙個迴圈執行完之後,我們才能夠真正判定,這個數確實是素數。再比如在鞍點問題中,我們只有在一行的迴圈都走完之後,我們才能下結論說 這一行的鞍點不存在。於是在更加複雜的巢狀迴圈中,似乎尋找...

python 之 類(乙個類包含乙個類)

1.知識點 1 乙個類可以作為另乙個類的元素。2 當乙個類的屬性為列表新增另乙個類名時,會預設新增另乙個類的 str self 的返回值 箱子 class box 屬性 def init self,b color,b volumn self.color b color self.volumn b v...