在 Visual Studio 中测试简单的 c# 代码表达式

Ser*_*rge 5 .net c# visual-studio code-testing visual-studio-2019

我想知道我应该如何测试简单的 C# 表达式

1) 在 Visual Studio 和
2) 不在调试,在设计模式

说,我想验证什么会返回这个代码

?DateTime.ParseExact("2016", "yyyy")
Run Code Online (Sandbox Code Playgroud)

或者

int i;
int.TryParse("x55", out i);
?i
Run Code Online (Sandbox Code Playgroud)

我在即时窗口中获得了以下消息:

?DateTime.ParseExact("2016", "yyyy") 
The expression cannot be evaluated while in design mode.
Run Code Online (Sandbox Code Playgroud)

Dia*_*ado 10

交互式窗口(不要与混淆立即窗口),将实现你在找什么。

它可以由 访问View > Other Windows > C# Interactive,本质上是一个交互式编译器会话,它独立于项目是否正在执行而运行,允许您任意执行代码而无需构建和运行您的项目。

这是可以在此窗口中执行的操作的示例

> Random gen = new Random();
> DateTime RandomDay()
. {
.     int monthsBack = 1;
.     int monthsForward = 3;
.     DateTime startDate = DateTime.Now.AddMonths(-monthsBack);
.     DateTime endDate = DateTime.Now.AddMonths(monthsForward);    
.     int range = (endDate - startDate).Days;
.     return startDate.AddDays(gen.Next(range));
. }
> RandomDay()
[28/01/2020 15:11:51]
Run Code Online (Sandbox Code Playgroud)

并且还使用外部dll

> Newtonsoft.Json.Linq.JObject.Parse("{'myArticle': { 'myDate': '2020-03-24T00:00:00'}  }")
(1,1): error CS0103: The name 'Newtonsoft' does not exist in the current context

> #r "C:\Users\MyUser\.nuget\packages\newtonsoft.json\11.0.2\lib\netstandard2.0\Newtonsoft.Json.dll"

> Newtonsoft.Json.Linq.JObject.Parse("{'myArticle': { 'myDate': '2020-03-24T00:00:00'}  }")
JObject(1) { JProperty(1) { JObject(3) { JProperty(1) { [24/03/2020 00:00:00] } } } }
Run Code Online (Sandbox Code Playgroud)