2

申し訳ありませんが、ほとんどのプログラムはスペイン語で書かれています。それが私の主な言語であり、少しごちゃごちゃしていますが短いからです。

using System;
using System.Linq;
using System.Collections.Generic;

namespace Tarea_2
{
    class Demo
    {
        static void Main()
        {
            Console.Write("¿Cuántos números desea entrar? ");
              int cun = Int32.Parse(Console.ReadLine());
            Console.WriteLine();
            Console.WriteLine("Entre "+cun+" números");
            Console.WriteLine("Oprima 'Enter' después de cada uno.");
            //unaLista recoge los valores directamente del usuario
              List<int> unaLista = new List<int>();
              for (int i = 0; i < cun; i++)
                  unaLista.Add(Int32.Parse(Console.ReadLine()));
            Console.WriteLine();
            Console.Write("¿Qué cantidad desea sumar a cada número? ");
              int sum = Int32.Parse(Console.ReadLine());
            Console.WriteLine();
            //otraLista los copia de unaLista y les suma la variable "sum"
              **List<int> otraLista = new List<int>();
                          otraLista.AddRange(unaLista);**

            Mostrar(unaLista);
            Mostrar(otraLista);
        }//End of Main

        public static void Mostrar(List<int> a)
        {
            foreach (int valor in a)
                Console.WriteLine(valor);
                Console.WriteLine();
        }//End of Mostrar
    }//End of Demo
}//End of namespace

とにかく、「unaLista」からAddRangeを介して「otraLista」にコピーされた各数値の合計を合計する必要がある「sum」でユーザーからの変数を保存しています。これは可能ですか?

編集:私はいつも配列でこの種のことをしますが、リストを使用するのはこれが初めてでした(より良いはずなので)。

リスト otraLista = unaLista.Select(i => i + sum).ToList();

以下の期待される結果:

Cuántos números desea entrar? 3

エントレ 3 ヌメロス。Oprima 'Enter' después de cada uno.

20

30

40

Qué cantidad desea sumar a cada número? 100

20

30

40

120

130

140

「Enter」を押して終了します...

4

1 に答える 1

4

LINQ でこれを行うことができます。

otraLista = otraLista.Select(i => i + sum).ToList();

または、AddRange の前に実行したい場合は、new List<int>andをスキップAddRangeして代わりにこれを実行できます。

List<int> otraLista = unaLista.Select(i => i + sum).ToList();

あなたがいることを確認してください

using System.Linq;
于 2012-04-21T16:25:15.100 に答える