[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/30 10:09 / Filesize : 144 KB / Number-of Response : 598
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとVisual C#,C♯,C#(初心者用) Part111



258 名前:デフォルトの名無しさん [2014/04/27(日) 10:37:42.14 ID:/A+wJ+qi]
★質問したいこと
「default(T)」は値なの?型なの?
(下記のコードがうまくいかない理由は?)

★状況
public class Range<T> where T : IComparable<T>
{
&nbsp; &nbsp; public T Begin { get; set; }
&nbsp; &nbsp; public T End { get; set; }
&nbsp; &nbsp; public bool Contains(T t)
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; return (Begin == default(T) || Begin.CompareTo(t) <= 0)
&nbsp; &nbsp; &nbsp; &nbsp; &amp;&amp; (End == default(T) || 0 < t.CompareTo(End));
&nbsp; &nbsp; }
}
Begin == defualt(T)のとこで「演算子 '==' を 'T' と 'T' 型のオペランドに適用することはできません。」
とか、表示されます。

T d = default(T);とか書いてみて、もちろんエラーは出ない。
さらに、if( Begin == d ) {...}とか書いてみると、 上記のエラー。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<144KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef