1

複数の要素を持つリストを返すことに頭を悩ませています(PHPの背景-PHPではこれに配列を使用します)。

WHILE ループで解析している大きな文字列があります。要素のペアを持つリストを返したいです。私はこのようなことを試しました:

static public List<string> getdata(string bigfile)
{
var data = new List<string>[] { new List<string>(), new List<string>() };  // create list to hold data pairs

While (some stuff)
{
   // add element pair to List<data>
   data[0].Add(this);  // add element to list - 'this' is declared and assigned (not shown)    
   data[1].Add(that);  // add element to list - 'that' is declared and assigned (not shown)

}

return data???;  // <<-- This is where I'm failing. I can, of course, return just one of the elements, like return data[0];, but I can't seem to get both elements (data[0] and data[1]) together.

}  // end getdata

いくつかの回答を確認しましたが、何かが欠けています。戻り値について構文的にいくつかのことを試しましたが、うまくいきませんでした。どんな助けでも大歓迎です。私は質問をするのが嫌いですが、これに時間を費やしましたが、欲しいものが見つかりません。

4

4 に答える 4

0

問題は、リストのコレクションを返すため、戻り値の型が一致しないことです。これを試して、

            var data = new List<string>();

            while (some stuff)
            {

                data.Add("test0");
                data.Add("test1");
            }
            return data;
于 2013-04-14T05:43:02.193 に答える
0

要素のペアを持つリストを返したい

ペアが必要な場合は、ペアを使用します。

static public List<Tuple<string, string>> getdata(string bigfile)
{
    var data = new List<Tuple<string, string>>(); // create list to hold data pairs

    while (some stuff)
    {
        // add element pair
        data.Add(Tuple.Create(a, b)); // 'a' is declared and assigned (not shown)    
                                      // 'b' is declared and assigned (not shown)
    }

    return data;
}
于 2013-04-14T05:44:07.717 に答える