私は次のコード行を持ち、Microsoftのドキュメントでメソッドとオブジェクト定義を参照しましたが、それでも動作するかどうかはまだ分かりません。単純なテストコードで何が起こっていますか
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace HelloWorld.Tests
{
[TestClass]
public class WhenProgramRuns
{
private string _consoleOutput;
[TestInitialize]
public void Initialize()
{
var w = new System.IO.StringWriter();
Console.SetOut(w);
Program.Main(new string[0]);
_consoleOutput = w.GetStringBuilder().ToString().Trim();
}
[TestMethod]
public void SayHelloWorld()
{
Assert.AreEqual("Hello, World", _consoleOutput);
}
}
}
私は「W」のメインの実行と理由コードの作者は、彼がメインと呼ばれる[0]の文字列を渡すの結果をキャプチャする方法を理解していません。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World");
}
}
}
コンソールアプリのエントリーポイントがどのように機能しているか、 'out'キーワードがどのように働いているのか、そして引数渡しがどのように機能するのかを検討する必要があります。 –
"広すぎる"と投票すると、短くて簡単なプログラムだが、StackOverflowはプライベートコーチング/教育サービスではありません。 – MarioDS
@DavidL 'out'キーワードはここでは使用されません。 – Servy