将变量添加到逐字字符串文字

0 c# automation visual-studio restsharp verbatim-string

我是 C# 编程新手。

我正在尝试自动化一些 API 测试并使用 RestSharp 库在 POST 请求中传递有效负载。该有效负载看起来像这样

public class Payload
    {
        public string firstPayload = @"{
" + "\n" +
@"  ""channel"": ""XYZ"",
" + "\n" +
@"  ""Email"": ""abc@abc.com""
" + "\n" +
@"}";
}
Run Code Online (Sandbox Code Playgroud)

我在测试项目中将此负载称为有效负载。该请求在 Postman (JSON) 中看起来像这样

{
  "channel": "XYZ",
  "Email": "abc@abc.com"
}
Run Code Online (Sandbox Code Playgroud)

但由于我不能一遍又一遍地使用同一电子邮件,现在我想在电子邮件中添加 YYYYMMDDTHHMMSS 格式的 (DateTime.Now) ,以便每次运行测试时,它都是唯一的电子邮件。该电子邮件应类似于“abc20220825124587@abc.com”

但我不确定如何在逐字字符串firstPayload C# 代码中添加当前日期时间

小智 6

你可以做这样的事情

var payload = $@"
{{
    ""channel"": ""XYZ"",
    ""Email"": ""abc{DateTime.Now}@abc.com""
}}";
Run Code Online (Sandbox Code Playgroud)

"/n"使用字符串文字时不需要手动添加