3

こんな方法もあるなんて…

public List<String> TestMethod(Int32 parameter, out Boolean theOutParameter)
{
}

theOutParameterメソッドを呼び出すとき、メソッドへの呼び出しがどのように見えるかに興味がない場合はどうなりますか? bool値に興味がない場合にメソッドの out パラメータが処理されるように、 new をインスタンス化するのは少し過剰に思えます。

4

3 に答える 3

6

いいえ、ただし、オーバーロードを追加できます。

public List<string> TestMethod(int parameter)
{
    bool tmp;
    return TestMethod(parameter, out tmp);
}
于 2012-06-27T08:27:08.900 に答える
3

「out」パラメータを無視することは可能ですか?

いいえ、できません。

于 2012-06-27T08:27:14.463 に答える
2

さらに結果があるかどうかを示すプロパティを持つ独自のリストを返すことを選択できます。

public class QueryResult:List<string>
{
    public bool HasMoreResults{get;set;}
}

public QueryResult TestMethod(Int32 parameter)
{
    QueryResult res;
    //create list, filling, etc.
    //instead of setting the out, set the parameter
    res.HasMoreResults = ....
}
于 2012-06-27T08:36:00.313 に答える