拆分逗号分隔的字符串并在 C# 中添加引号 - 优雅的解决方案

2023-12-31

我有一个string看起来像这样:

var v = "10,14,18,21" 

并想将其用作如下所示的东西:

'10', '14', '18', '21'

我写了一个函数,它将值分割为comma并将它们作为字符串添加在一起。另外我删除了最后一个,从结果字符串。

我把所有东西都放在一个名为的函数中prep供测试用。

该函数执行我想要它执行的操作。不过,我想知道是否有一个更优雅的方式来达到相同的结果。这是我想出的:

public static string prep(string s) {
    string res = "";

    List<string> list = s.Split(',').ToList<string>();

    foreach(var item in list) 
        res += "'" + item + "',";

    res = res.TrimEnd(',');

    return res;
}

你可以使用string.Join() https://learn.microsoft.com/en-us/dotnet/api/system.string.join?view=netframework-4.8 here:

var result = string.Join(", ", v.Split(",").Select(x => $"'{x}'"));

Console.WriteLine(result);
// '10', '14', '18', '21'

这基本上通过以下方式连接项目", ",然后在每个字符串周围投影单引号Enumerable.Select() https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable.select?view=netframework-4.8来自 LINQ。

您还可以添加单引号而无需$ - 字符串插值 https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated:

var result = string.Join(", ", v.Split(",").Select(x => "'" + x + "'"));

As @拉西尔·希兰 https://stackoverflow.com/questions/61115548/split-a-comma-separated-string-and-add-quotes-in-c-sharp-elegant-solution/61115643#comment108120871_61115643在评论中有用地指出,我们在这里不需要 LINQ,只需将结果括起来即可"'"并加入"', '":

var result = "'" + string.Join("', '", v.Split(",")) + "'";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拆分逗号分隔的字符串并在 C# 中添加引号 - 优雅的解决方案 的相关文章

  • WebBrowser Control 导致整个应用程序变得无响应

    我有一个带有嵌入式 Web 浏览器的 C NET 3 5 应用程序 浏览器被设计为指向远程站点 而不是本地站点 一切工作正常 但是当页面响应缓慢时 这会导致我的整个应用程序变得无响应 直到加载页面 我不介意浏览器在执行任务时没有响应 但应用
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 如何使用c#/VB.NET在word中插入书签

    我正在尝试使用 C 在 Word 文档中添加书签 但它不起作用 而且我在 msdn 文档和互联网上都找不到任何帮助 这就是我正在尝试做的事情 我正在阅读 Word 文档 然后在该文档中搜索关键字 然后将该文本转换为超链接 效果很好 现在 我
  • 当假设 [[assume]] 包含 UB 时会发生什么?

    在 C 23 中 assume expression 属性使得如果表达 is false 行为未定义 例如 int div int x int y assume y 1 return x y 这会编译成相同的代码 就像y一直是1 div i
  • 在 C 的公共 API 函数中使用枚举参数是个好主意吗?

    我正在设计一个 C API 其中必须提供一种设置一些双值选项的方法 为了识别选项 我使用以下枚举 typedef enum OptionA OptionB Option 使用是一个好主意吗Option作为公共 API 函数中的参数类型 in
  • 如何使用 LINQ 对列表的列表进行分组(例如:List>)

    我知道我可以使用一些 for 循环轻松地做到这一点 但想看看是否有一种方法可以使用流畅的 LINQ 来做到这一点 我试图找出每个子列表中有多少个 我在看Enumerable SequenceEqual http msdn microsoft
  • 为什么在此单元测试中,BackgroundWorker 没有在正确的线程上调用 RunWorkerCompleted?

    backgroundWorker 的全部目的是在执行耗时的任务后更新 UI 组件正如广告所宣传的那样在我的 WPF 应用程序中 但是在我的测试中 回调不会在调用线程上调用 Test public void TestCallbackIsInv
  • 如果将其名称作为参数传递,如何在方法中打开表单

    我正在尝试创建一个标准方法来根据传递给它的参数打开表单 基本上 要完成此任务 using Quotes newQte new Quotes newQte ShowDialog 通过替换 Quotes with a passed parame
  • pybind11 返回 numpy 对象数组

    使用 pybind11 C API 和 python3 我们如何在 C 实现中正确创建一个 numpy 对象数组 即 unicode 字符串 并将其返回给 python 传递到 pybind11 array 的底层数据数组的确切内存布局是什
  • 如何在Python中的字符串中插入变量值

    这是一个简单的例子 amount1 input Insert your value amount2 input Insert your value print Your first value is amount1 your second
  • 如何用C语言创建字典?

    我正在用 C 语言编写一个微控制器 作为它的一部分 我想在 7 段显示器上显示某些字母 每个字母都有一个对应的数字 使 7 段显示屏显示该字母 它没有真正的模式 因为数字只是通过将显示字母所需的 7 段显示器上的位相加而成 因此如果我可以创
  • 传输数据的 Symbol.WPAN.Bluetooth 示例

    我正在尝试将 EMDK 附带的 Symbol WPAN Bluetooth 用于 Symbol 设备 有人碰巧有一个传输数据的工作示例吗 Symbol 的示例只是将设备配对 他们显然认为在个人局域网示例中并不真正需要传输数据 不管怎样 我知
  • 以编程方式打开网页并以字符串形式检索其 html 包含内容

    我有一个 Facebook 帐户 我想提取我朋友的照片及其个人详细信息 例如 出生日期 就读学校 等 我能够提取我每个朋友帐户的 Facebook 首页的地址 但我不知道如何以编程方式打开我每个朋友首页的网页并将 html 包含保存为字符串
  • 黑屏只是闪烁一会儿

    在我的 Windows Phone 8 应用程序中 我有一个搜索页面 其中有一个文本框供用户输入搜索关键字 输入默认SIP键盘的 Enter 键时将调用搜索 搜索结果显示在另一个页面中 为了在导航到结果页面之前隐藏键盘 我使用 this F
  • Web Api 2 在 OWIN 中间件中获取控制器和操作名称?

    如何在自定义 OWIN 中间件中检索 api 控制器名称和 api 操作名称 我可以在消息处理程序内部执行此操作 如下所示 var config request GetConfiguration var routeData config R
  • MonoMac 窗口关闭时没有错误

    我刚刚开始在 Xamarin Studio 中使用 MonoMac 并且遇到了最奇怪的问题 我有一个带有 NSButton 和 NSTextField 的窗口 至此 我已经删除了按钮上的事件处理程序 因此它不会执行任何操作 除了在单击它时突
  • 如何收集和存储tellp()、tellg()返回类型?

    我正在编写一个在文件中维护 linked list 的程序 因此 我通过使用tellp tellg 遍历文件并将其添加到特定的长整数 可以视为偏移量 以到达新位置 一个简单的例子是 long next offset sizeof long
  • 如何将curlpp 添加到我的项目中?

    我正在尝试从 vb net 过渡到 C 但我陷入了困境 我从下载了curpp这给了我一个 dll exp 和 lib 文件 我将包含这 3 个文件的目录添加到项目属性中的 附加库目录 链接器 gt 常规 接下来 我将 ws2 32 lib
  • 为什么删除void*是UB而不是编译错误?

    为什么要通过删除对象void 是未定义的行为 而不是编译错误 void foo void p delete p 这段代码编译并生成代码 尽管有关于 gcc 和 clang 的警告 令人惊讶的是 ICC 没有给出警告 2 5 warning
  • printf 右对齐括号内的数字

    我正在编写一个程序 显示数组中的所有信息 它必须以括号中的数组索引开头 例如 2 并且它们必须彼此正确对齐 如果只是数字 我知道你可以这样做 printf 10d index 但是用括号括起来会得到以下输出 1 2 10 11 当我真正希望

随机推荐

  • Google Apps 脚本 - createEvent 函数不创建日历事件

    我们正在尝试使用 Google 表单创建在线表单来接受预约请求 这个过程应该是这样的 用户填写表格并提交信息 有效 一封电子邮件会发送到我们的 Gmail 通知我们有新的传入请求 这有效 我们进入谷歌电子表格 有3张 一张名为Request
  • 如何使代理从源重新验证资源

    我的原始服务器在同一台机器上有一个 Nginx 反向代理 我希望代理缓存来自源的动态内容 但是当客户端重新验证资源时 我希望代理也使用源重新验证 而不仅仅是在不检查源的情况下向客户端返回 304 例如 如果我将 max age 设置为 60
  • LibGDX 桌面启动器失败

    我一直在关注this https www youtube com watch v ir6O5hS Qk在线教程 我现在正在看第 2a 集 我尝试跑步DesktopLauncher第一次 我收到了一堆警告和这个错误 任务 desktop De
  • Glassfish 应用程序无法与 Maven 库(gf-client)一起使用

    在学校作业中 我收到了一个使用 JNDI 和 JMS 以及 Glassfish 3 开源版本 的 Netbeans 项目 此应用程序使用的所有 Glassfish 库均通过绝对路径引用 所有其他库 在 lib 文件夹中 均通过相对路径引用
  • 什么数据类型适合在 ActiveX 方法中处理二进制数据?

    我正在为我的朋友编写一个 ActiveX 控件 它应该封装加密例程 主要从 VB6 开始使用 我应该为加密密钥 初始化向量 输入和输出数据等二进制数据选择什么数据类型 以便我的朋友可以方便地从VB6使用它 我正在使用 Delphi 7 来编
  • Python:在 __init__ 中引发异常是一种不好的形式吗?

    在内部提出异常是否被认为是不好的形式 init 如果是这样 那么当某些类变量初始化为时抛出错误的可接受方法是什么None或者类型不正确 引发异常 init 绝对没问题 没有其他好的方法来指示初始化程序中的错误情况 并且标准库中有数百个示例
  • 在共享 Web 服务器上安装 PDFTK

    我的网站托管在 Total Choice Hosting 上 使用某种 Linux 我不知道具体是什么品种 和 Apache 我没有命令行访问权限 我只能通过 PHP 中的 exec 或通过 CRON 作业运行命令行程序 我可以在这样的系统
  • Web 服务代理设置

    在c 4 0 中 我有一个名为ManufacturerContactDetails 的Web 服务 我使用以下命令从 Windows 应用程序调用该 Web 服务 var ws new ManufacturerContactDetailsW
  • 从 TypeScript 扩展数组

    我在下面的代码中做错了什么 我正在尝试延长Array在我的课堂上MyNumberList然后尝试使用它 我看到的是 似乎没有任何项目被添加到列表中 我得到一个undefined当我尝试访问列表元素时 P S 我正在使用 TypeScript
  • 使用单独的数据库进行 papertrail 版本控制

    我正在尝试使用 papertrail 将模型的更改事件记录在单独的数据库中 我在用着 导轨 4 1 2 Ruby 2 1 纸迹 4 0 0 下面是我在关注点中添加的代码 module Foo class Base lt ActiveReco
  • 在 Pyspark 中将列类型从字符串更改为日期

    我正在尝试将列类型从字符串更改为日期 我咨询过以下人士的答案 如何将 DataFrame 中的列类型从字符串更改为日期 https stackoverflow com questions 36948012 how to change the
  • 删除了配置门户中的团队配置配置文件:*,该怎么办?

    我不小心删除了配置门户中的团队配置配置文件 我现在应该做什么 我有一台安装了 Xcode 4 2 的 MacBook 我还在 熟悉 iOS 配置门户和 Xcode 的过程中删除了 iOS 团队配置配置文件 我没有成功地恢复它 无论是从 Xc
  • 如何使用 TestCafe 和 Yaml 将屏幕截图和视频保存为 Azure Build Pipeline 中的附件?

    我正在尝试在 Azure Devops 中创建一个构建管道 运行在 TestCafe Studio 中创建的测试 保存错误屏幕截图 并保存每次测试的视频 保存测试运行的视频 将测试结果发布到测试运行 将屏幕截图和视频作为附件发布到构建管道和
  • 在经典 ASP 脚本中使用 ADO.NET

    我正在编写一些返回单个值的简单查询 并且我想从经典 ASP 的 ADO 库中获取 ADO NET ExecuteScalar 方法的行为 但是 我不想重新发明轮子 是否可以在经典 ASP 中实例化 ADO NET 的 Command 对象
  • 码头工人。 MySQL 图像。无法更改 my.cnf 文件

    我有这样一个docker compose yml database container name test db image mysql 5 7 volumes docker my cnf etc my cnf environment MY
  • 如何检测 NSString 是否包含特定字符?

    我有一个 NSString 对象 例如 45 0000 现在我想知道这个字符串是否包含 我怎样才能做到这一点 您是否想查找它是否至少包含以下一项 or 您可以使用 rangeOfCharacterFromSet NSCharacterSet
  • 复制没有历史记录的 git 存储库

    我在 GitHub 上有一个私人存储库 我想将其公开 但是 一些初始提交包含我不想公开的信息 硬编码凭据等 在不包含部分或全部提交历史记录的情况下 公开最新提交 我真的不需要或不希望公共存储库中的先前提交 的最简单方法是什么 您可以限制历史
  • 如何在Web应用程序中使复选框只读

    我有一个网格视图 每一行都有一个复选框 当进入编辑模式时 可以选中 取消选中复选框 但我不希望该复选框在任何其他模式下都是可编辑的 用户可能很容易对不反映保存回数据库中的真实值的复选框感到困惑
  • 使用for循环批量重命名文件

    我正在尝试使用 for 循环来重命名文件 Echo Off setlocal enableDelayedExpansion Set Date set mydate DATE 10 4 DATE 4 2 DATE 7 2 Rename fil
  • 拆分逗号分隔的字符串并在 C# 中添加引号 - 优雅的解决方案

    我有一个string看起来像这样 var v 10 14 18 21 并想将其用作如下所示的东西 10 14 18 21 我写了一个函数 它将值分割为comma并将它们作为字符串添加在一起 另外我删除了最后一个 从结果字符串 我把所有东西都