我收到的错误如Unexpected character '“'
(完整的错误列表如下所示),代码如下:
using System;
using System.Threading;
namespace Chapter1
{
public static class Program
{
public static void ThreadMethod()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(“ThreadProc: {0}”, i);
Thread.Sleep(0);
}
}
public static void Main()
{
Thread t = new Thread(new ThreadStart(ThreadMethod));
t.Start();
for (int i = 0; i < 4; i++)
{
Console.WriteLine(“Main thread: Do some work.”);
Thread.Sleep(0);
}
t.Join();
}
}
}
错误:
Error 1 Unexpected character '“'
Error 2 Unexpected character '”'
Error 3 Unexpected character '“'
Error 4 Unexpected character '”'
Error 5 Invalid expression term ''
Error 6 ) expected
Error 7 ; expected
Error 8 Invalid expression term ''
Error 9 Invalid expression term ','
Error 10 ; expected
Error 11 ; expected
Error 12 Invalid expression term ')'
Error 13 ; expected
Error 14 Invalid expression term ''
Error 15 ) expected
Error 16 Invalid expression term ':'
Error 17 ; expected
Error 18 ; expected
Error 19 ; expected
Error 20 Invalid expression term ''
Error 21 Identifier expected
Error 22 Invalid expression term ')'
Error 23 ; expected
答案 0 :(得分:8)
问题:您使用无效引号“
将字符串括在Console.WriteLine()
方法中,如下所示:
Console.WriteLine(“ThreadProc: {0}”, i);
在这里
Console.WriteLine(“Main thread: Do some work.”);
解决方案:您需要使用正确的双引号"
将字符串括起来,如下所示:
Console.WriteLine("ThreadProc: {0}", i);
以及
Console.WriteLine("Main thread: Do some work.");
完整代码:
using System;
using System.Threading;
namespace Chapter1
{
public static class Program
{
public static void ThreadMethod()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("ThreadProc: {0}", i);
Thread.Sleep(0);
}
}
public static void Main()
{
Thread t = new Thread(new ThreadStart(ThreadMethod));
t.Start();
for (int i = 0; i < 4; i++)
{
Console.WriteLine("Main thread: Do some work.");
Thread.Sleep(0);
}
t.Join();
}
}
}
答案 1 :(得分:5)
你的报价错误应该是常规的双引号而不是花哨的引用。
可能是由于代码的复制粘贴通过某些“美化”文本(即MS Word)的编辑器引起的。
答案 2 :(得分:4)
您使用的是非标准引号... ”
和”
。使用常规引号"
。
答案 3 :(得分:2)
您使用的引号称为“智能引号”。 编译器只处理标准的“哑引号”。编译器将“哑引号”视为表达字符串的有效方式,而非智能引号。
Console.WriteLine(“Hello!”); // compile-time error
Console.WriteLine("Hello!"); // ok
string str = "Hello”"; // all right
char curlyQuote = '”'; // fine
来自Wikipedia:
弯曲和直线引号有时也称为智能 引号(“......”)和哑巴引号(“......”)分别; 这些名字在 引用在几个文字处理器中找到的函数的名称 自动将用户输入的直引号转换为 弯曲的报价。这个功能,被称为“教育报价”,是 为缺乏单独的开放和报价的系统开发 键盘键。
旁注:您最有可能复制&amp;从本书的 Exam Ref 70-483 的PDF版本粘贴。 (您的代码是本书中的一个示例。)如果您真的想学习这些材料,请手动输入,而不是将其粘贴到VS或您正在使用的任何IDE /文本编辑器中。