이 클래스에서는 번호를 사용하여 탐색하는 문자열 메서드를 정의하고 숫자 값에 따라 문자열을 만듭니다.foreach 루프를 LINQ 람다로 변환하는 방법
public class Class1
{
public string Returnstring (int number)
{
var dictionary = new Dictionary<int, string>();
dictionary.Add(1, "Test");
dictionary.Add(2, "TestTest");
dictionary.Add(3, "TestTestTest");
string somevalue = string.Empty;
foreach (var simple in dictionary)
{
while (number >= simple.Key)
{
somevalue += simple.Value;
number -= simple.Key;
}
}
return somevalue;
}
}
저는 foreach 루프를 LINQ 람다로 변환 할 수 있는지 알고 싶습니다.
이것은 클래스에 대해 쓴 테스트 방법입니다.
[TestMethod]
public void Given_1_when_Returnstring_Then_Should_Return_Test()
{
Class1 class1=new Class1();
string number = class1.Returnstring(1);
string expectedstring= "Test";
Assert.AreEqual(expectedstring, number);
}
당신은 무엇을하려고 했습니까? 무엇이 효과가 없었습니까? 단지 당신이 약간의 노력을한다면 당신이 요구하는 것은 매우 간단합니다. –
할 수 있다고하더라도 그렇게해서는 안됩니다. LINQ는 기능 스타일 프레임 워크로 설계되었으며 LINQ 문에서의 작업에는 부작용이 없어야합니다. – JLRishe
그리고이 코드의 목적은 무엇입니까? 보이는 경우 그것은 첫 번째 사전'숫자'의 값을 반복하고 다음 사전의 나머지 부분을 무시합니다. – JLRishe