C# CodeWars编译器显示的错误是什么?
我正在努力学习C,我还是一个初学者。最近,我发现了一个允许你练习和训练的网站,但我在做这个网站的时候遇到了一个问题。 当我在VisualStudio中键入此代码时,它可以工作,但在网站上却不能工作,网站会告诉我有一个错误 网站是:www.codewars.com 代码是:C# CodeWars编译器显示的错误是什么?,c#,C#,我正在努力学习C,我还是一个初学者。最近,我发现了一个允许你练习和训练的网站,但我在做这个网站的时候遇到了一个问题。 当我在VisualStudio中键入此代码时,它可以工作,但在网站上却不能工作,网站会告诉我有一个错误 网站是:www.codewars.com 代码是: public class DnaStrand { public static string MakeComplement(string dna) { int length = dna.Leng
public class DnaStrand
{
public static string MakeComplement(string dna)
{
int length = dna.Length;
string [] smash = new string[length];
for (int i = 0; i < length; i++)
{
smash[i] = n.Substring(i,1);
}
for (int k = 0; k < length; k++)
{
if (smash[k] == "A") { smash[k] = "T"; }
else if (smash[k] == "T") { smash[k] = "A"; }
else if (smash[k] == "G") { smash[k] = "C"; }
else if (smash[k] == "C") { smash[k] = "G"; }
}
for (int o = 0; o < length; o++)
{
Console.Write(smash[o]);
}
}
}
编辑
错误是:
/home/codewarrior/fixture.cs1,17:错误CS0234:名称空间Microsoft中不存在类型或名称空间名称VisualStudio'。是否缺少程序集引用
错误:命令失败:mcs-out:/home/codewarrior/test.dll-lib:/home/codewarrior,/runner/frameworks/csharp/mono-4.5,/runner/frameworks/csharp/nunit/bin-langversion:Default-sdk:4.5-warn:2-target:library-r:nunit.core.dll,nunit.framework.dll,nunit.core.interfaces.dll,nunit.util,Newtonsoft.Json.dll-r:System.Numerics.dll-r:System.Drawing.dll-r:System.Data.dll-r:System.Data.SQLite.Linq.dll-r:System.Data.SQLite.Linq.dll-r:System.Linq.dll-r:System.Linq.Dynamic.dll-r:System.Linq.Expressions.dll-r:System.Messaging.dll-r:System.Threading.Tasks.dll-r:System.Xml.dll-r:Mono.Linq.Expressions.dll/home/codewarrior/code.cs/home/codewarrior/fixture.cs
/home/codewarrior/fixture.cs1,17:错误CS0234:名称空间Microsoft中不存在类型或名称空间名称VisualStudio'。是否缺少程序集引用?问题在于CodeWars使用了,而您正在尝试使用MSTest framework,它不是工具包的一部分
基于安装后用于测试的可用库。基本上,在CodeWars上编译C代码的机器没有安装Visual Studio单元测试库。这就解释了为什么它在VisualStudio中编译,因为VisualStudioIDE在安装时附带了测试库,而CodeWars机器没有,因为它似乎使用的是Mono 根据a,您应该使用NUnit框架,例如:
using NUnit.Framework;
[TestFixture]
public class DnaStrandTest {
[Test]
public void test01() {
Assert.AreEqual("TTTT", DnaStrand.MakeComplement("AAAA"));
}
[Test]
public void test02() {
Assert.AreEqual("TAACG", DnaStrand.MakeComplement("ATTGC"));
}
[Test]
public void test03() {
Assert.AreEqual("CATA", DnaStrand.MakeComplement("GTAT"));
}
}
您正在使用Microsoft.VisualStudio,找不到名称空间VisualStudio的位置。可能的解决方案:单元测试似乎无法编译,因为它们依赖于某些程序集,而这些程序集不可用,因此站点无法编译您的代码。谢谢,我感谢您的回答