首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双qoutes字符串

双qoutes字符串
EN

Stack Overflow用户
提问于 2017-05-22 21:46:23
回答 3查看 103关注 0票数 0

我需要将带有双引号的字符串作为参数传递给代理方法,如下所示:

代码语言:javascript
运行
复制
public void CallProxyMethod()
{
   //SomeProxyClass derives from Systems.Collections.Generic.List<string>
   var parameters = new SomeProxyClass() {"parameter1", "paramter2", "parameter3"};
   SomeProxyMethod(parameters);
}

这些参数值从配置文件中读取。

代码语言:javascript
运行
复制
<add key=Parameters" value="parameter1, parameter2, parameter3"/>

我尝试用逗号拆分配置值并向它们添加双引号,但最后在上面的SomeProxyClass中得到了以下值:

“\”参数1\“”、“\”参数2\“、”\“参数3\”。

我在这个类中需要的值是:

"parameter1“"paramter2”"parameter3“。

如何将"parameter1,parameter2,parameter3"转换为"parameter1","paramter2","parameter3" in C#?

EN

回答 3

Stack Overflow用户

发布于 2017-05-22 21:50:50

像这样的东西应该管用..。

代码语言:javascript
运行
复制
var items = "item1, item2, item3";
var newItems = "\"" + string.join("\",\"", items.split({","})) + "\"";
票数 1
EN

Stack Overflow用户

发布于 2017-05-22 22:05:53

您可以通过以下方式实现这一点:

代码语言:javascript
运行
复制
var yourString = "parameter1, parameter2, parameter3";
var result = $"\"{yourString.Replace(",",@"","")}\"";
票数 0
EN

Stack Overflow用户

发布于 2017-05-23 00:57:43

尝试使用StringBuilder代替。

代码语言:javascript
运行
复制
static class Quotes
{
    public static StringBuilder DoubleQuotes(params string[] parameters)
    {
        char quote = '\u0022';
        string value = null;

        for (int i = 0; i < parameters.Length; i++)
        {
        parameters[i] = 
            parameters[i]
                .Insert(0, quote.ToString()) 
                .Insert(parameters[i].Length + 1, quote.ToString());

            value += parameters[i];         
        }

    value = String.Join(", ", parameters);
    StringBuilder builder = new StringBuilder(value);

    return builder;
}

在这种情况下,您必须从List<string>更改为List<StringBuilder>。我希望这能帮到你。

代码语言:javascript
运行
复制
public void CallProxyMethod()
{
    var withHelperMethod = new SomeProxyClass()
    {
        Quotes.DoubleQuotes("parameter1", "parameter2"),
        Quotes.DoubleQuotes("parameter3")
    };

    var withoutHelperMethod = new SomeProxyClass()
    {
        new StringBuilder("\"parameter1\""),
        new StringBuilder("\"parameter2\""),
    };

    SomeProxyMethod(withHelperMethod);
    SomeProxyMethod(withoutHelperMethod);
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44122621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档