我正在尝试使用mono来为linux构建一个C#应用程序.但似乎Dictionary <>和List <>不可用?我找不到任何解决这个问题的方法,我觉得这很奇怪,因为在我看来这两个是非常基本的...
这是测试代码
使用System.Collections.Generic;
namespace Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("TESTTEST");
List<string> s = new List<string>();
Console.Read();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是控制台屏幕中的结果:
警告:此应用程序支持的运行时版本不可用.使用默认运行时:v1.1.4322
**(Test.exe:3152):警告**:未加载类System.Collections.Generic.List`1 coul d,在mscorlib中使用,Version = 4.0.0.0,Culture = neutral,PublicKeyTo ken = b77a5c561934e089
未处理的异常:System.TypeLoadException:无法从程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Colle ctions.Generic.List`1'.Druk op een toets om door tean...
我有一个 C# 控制台应用程序,其中有一个线程池。在线程池中将有一个执行连续方法的类(直到它运行了一段时间或知道何时停止)。该方法连接到 HttpWebResponse 流并继续阅读它。
问题是在短时间内所有线程都只做自己的事情,但是只有一个线程继续显示它的输出,其余的则在等待该线程。
这是为每个线程执行的方法。
function void ReadStream()
byte[] buf = new byte[8192];
String domain = streamingUrl
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(domain);
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
Stream resStream = response.GetResponseStream();
string tempString = null;
int count;
do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);
if (count != 0)
{
tempString = Encoding.ASCII.GetString(buf, 0, count);
try
{
mySqlManager.SaveResult(tempString);
Console.WriteLine("Been here");
Thread.Sleep(1000);
}
catch (Exception e)
{
}
}
}
while (count > 0);
}
Run Code Online (Sandbox Code Playgroud)