使用 linq 解析样式属性集合

2024-01-12

我想解析 SVG 样式属性,它只是一个分隔字符串,例如

“填充:#e2b126;描边:#010101;描边宽度:0.3177;描边斜接限制:10”

into a Dictionary<string,string>这样我就可以对其进行一些处理。

这是我所拥有的,它可以完成这项工作,但我想使用 linq 投影使其更整洁,只是似乎无法获取语法。我尝试使用 .Select().ToDictionary 等,但没有乐趣。谢谢:

string attributes = "fill:#e2b126;stroke:#010101;stroke-width:0.3177;stroke-miterlimit:10";
var pairs = attributes.Split(';').ToList();
var dic = new Dictionary<string, string>();
pairs.ForEach(p =>
    {
        var pair = p.Split(':');
        dic.Add(pair[0], pair[1]);
    });
 foreach (var k in dic.Keys)
 {
       Console.WriteLine(k + " " + dic[k]);
 }

预期输出:

fill #e2b126 
stroke #010101 
stroke-width 0.3177 
stroke-miterlimit 10

尝试以下操作

string attributes = "fill:#e2b126;stroke:#010101;stroke-width:0.3177;stroke-miterlimit:10";
var map = attributes
  .Split(new []{';'}, StringSplitOptions.RemoveEmptyEntries)
  .Select(x => x.Split(new []{':'}, StringSplitOptions.RemoveEmptyEntries))
  .ToDictionary(p => p[0], p => p[1]);

分解

首先Split调用将返回一个数组String每个条目所在的值key:value格式。下列Select调用会将这些条目中的每一个转换为string[]其中第一个元素是键,第二个元素是值。这ToDictionary调用只是明确执行此映射

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

使用 linq 解析样式属性集合 的相关文章

  • 在 std::forward 中它如何接受右值?

    看看斯科特 迈耶的有效的现代 C 第200 201页 建议的简化实施std forward可能是 在其他地方看到了正确的实现 template
  • 管理多个解决方案中存在的 C# 项目的 Nuget 包

    我现在正处于这样的阶段重构疯狂一个有很多的大项目遗留和不稳定的模块 我决定拆分解决方案目前 所有项目 大约有 20 个 而且由于下个月肯定会出现单元测试项目 还会有更多 链接在一起 使其更加独立和细化 通过这种方法 有一些模块 例如需要在多
  • 字典的线程安全

    如果我有一个 Dictionary
  • iPhone 编程游戏

    使用 Objective C 还是 C 为 iPhone 编写游戏最好 像 Flight Control 这样的游戏会用什么语言编写 图形应采用什么格式才能在 iPhone 上正确显示并快速加载 像 Flight Control 这样的游戏
  • C# 从整数反序列化枚举

    是否可以从 C 中的 int 反序列化枚举 例如如果我有以下课程 class Employee public string Name get set public int EmployeeTypeID get set 我可以轻松地从 XML
  • C# 委托实例化与仅传递方法引用 [重复]

    这个问题在这里已经有答案了 我有一个简单的问题 与仅传递函数引用相比 实例化 C 委托有什么优势 我的意思是 Why do Thread t new Thread new ThreadStart SomeObject SomeMethod
  • 本机 C++ 通过代理 C++ 托管 dll 使用 C# dll

    这相当复杂 所以请耐心听我说 我有一个用本机 仅限 Win32 C 编码的第 3 方程序 目标 作为目标设计的一部分 它实现了一个 dll 插件系统 本机 DLL 当放置在程序的 ext 目录中时 由目标加载 然后 目标根据需要调用每个 D
  • 类型定义存在于两个库中

    我正在使用 NET 4 5 构建 ASP NET Web 窗体网站 错误 The type System ComponentModel DataAnnotations Schema ForeignKeyAttribute exists in
  • flowlayoutpanel和水平滚动条问题

    我正在使用一个 flowlayoutpanel 它有很多逻辑上的按钮 我遇到的问题是 当我调整窗口大小时 当窗口变小时 我无法看到所有水平排列的按钮 相反 当窗口变小时 按钮会下降到下一行 谁能帮我解决这个问题 我只是希望按钮水平排列 当窗
  • 需要帮助将 winform 迁移到 net 5

    我正在将 winform 应用程序从 net core 3 1 移植到 net 5 并收到以下错误 严重性代码 说明 项目文件行抑制状态 错误NETSDK1136 目标平台必须设置为Windows 通常 通过在 TargetFramewor
  • 给出对象的指针作为参数

    假设我有 void func foo obj 我有 foo object 我该如何制作object进入争论func 只需取消引用它即可 func object
  • Parallel ForEach 的本地初始化如何工作?

    我不确定 Parallel ForEach 中本地 init 函数的使用 如 msdn 文章中所述 http msdn microsoft com en us library dd997393 aspx http msdn microsof
  • 如何在 ASP.NET MVC 中获取参数数组作为 GET / POST?

    如何最好地获取数组 item gt value 对作为 GET POST 参数 在 PHP 中 我可以这样做 网址 这得到的参数为 Array a gt Array one gt 100 two gt 200 有什么方法可以在 ASP NE
  • 创建 PING 程序时限制 ICMP 回显答复

    我正在编写一个多线程 ping 程序 我在每个线程 针对每个 IP 上创建了原始套接字 并使用 sendto 向每个线程发送了 ICMP Echo 请求 然后在每个线程中执行了 receivevfrom 我正在从各种套接字中的 IP 获取消
  • 等效

    这是否保证始终为真 std numeric limits
  • 允许使用 AutoMapper 或类似工具映射动态类型吗?

    我已经开始使用https github com robconery massive https github com robconery massive对于一个项目 我想知道是否有任何映射工具可以支持动态到静态类型的映射 我以前使用过 Au
  • C++ 从文件中读取字符串

    我试图将字符串直接存储到一个文件中 以便稍后在 C 中读取 基本上 对于整个范围 我试图将带有字符串变量的对象数组存储在文件中 并且这些字符串变量将通过类似 object 的内容读取 0 字符串 然而 每次我尝试读取字符串变量时 系统都会给
  • 将整个单词与特殊字符匹配的正则表达式不起作用? [复制]

    这个问题在这里已经有答案了 我正在经历这个问题C Regex Match 整个单词 https stackoverflow com q 1209049 443568 它说要匹配整个单词使用 b模式 b 这对于匹配没有任何特殊字符的整个单词效
  • 如何获取打印机设备上下文?

    我在 Windows 上尝试使用以下命令打印增强型图元文件 EMF 播放增强元文件 http msdn microsoft com en us library dd162800 28VS 85 29 aspx 我当前正在使用屏幕上窗口的设备
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存

随机推荐

  • 析构函数中使用可能指向或不指向有效对象的指针的回调的正确设计模式是什么?

    假设我们有以下场景 我们有一个ImageManager类用于内部存储和管理图像数据 这ImageManager类有一个公共成员populateImage 它将把图像读入内存 然后返回一个填充的MyImage这是一个std shared pt
  • 如何使用 LINQ 将 List 与数据库表进行比较

    我有一个电话号码列表 我试图将其与数据库表中的相应记录连接起来 并获取订单号和客户 ID 此外 该列表将整个号码作为一个字符串 而数据库将其分解为区号 前缀 号码 每个都作为单独的字段 我对 LINQ 相当陌生 所以这超出了我目前的了解 非
  • 你可以使用集会 API 发送电子邮件通知吗?

    我正在构建一个自定义拉力应用程序 我需要从中发送电子邮件通知 有没有办法使用 Rally API 发送电子邮件 所以我不必使用像 Mandrill 或 Mailjet 这样的第三方服务 谢谢 无法通过 Rally API 来执行此操作
  • sqlite3 Nodejs从表中获取值

    我的 db js 中有 getName 函数 function getName uid db all SELECT name FROM table WHERE uid function err if err console log err
  • 使用 VB.NET 将父节点添加到已存在的 XML 文件中

    我有如下 XML
  • 作为期限或值计算结果的返回类型

    我试图很好地掌握种类 类型和术语 或值 不确定哪个是正确的 以及用于操作它们的 GHC 扩展 我知道我们可以使用 TypeFamilies 来编写带有类型的函数 现在我们还可以使用 DataKinds PolyKinds 等在某种程度上操作
  • 如果我想在 React 中使用像 AOS 这样的 javascript 库,该怎么做?

    我想使用 JavaScript 库 AOS https michalsnik github io aos https michalsnik github io aos 在我的 React 应用程序中 如何将其包含在我的 App js 文件中
  • javascript多维对象

    我正在尝试使用以下代码在 JavaScript 中定义一个多维对象 function A one two this one one this inner two two A prototype one undefined inner two
  • 同一页面上有两个 jQuery 版本

    是否可以在同一个文档中拥有 2 个不同的 jQuery 版本 并且让它们不会相互冲突 例如 如果我创建一个小书签并希望将代码基于 jQuery 这个小书签被注入到使用另一个版本的 jQuery 的某个页面上 然后我的代码将覆盖该页面上使用的
  • HTML5 浏览器兼容性图表 - 旧浏览器中的 HTML5?

    我刚刚开始考虑在 Rails JQuery 项目中使用 HTML 5 api 所以我可以使用这个很棒的data 属性 http ejohn org blog html 5 data attributes 来存储值 但我担心浏览器兼容性问题
  • HTML5 异步属性对脚本元素到底有什么好处?

    我对 HTML5 中 script 元素的新 async 属性有些困惑 希望有人能给出明确的答案 浏览器能够并行连接 因此图像将并行下载 但任何外部 javascript 都不会与其他外部 javascript 和图像并行下载 脚本会阻止页
  • 如何使用 URL 调用 Web 服务并传递参数

    如何使用 URL 调用 ASP NET Web 服务并传递参数 例如 服务的 URL 类似于 http localhost 31856 MySystem MyAPI asmx op getHeight 我需要传递两个参数a和b 我尝试过 h
  • Android Studio 布局编辑器不显示任何建议

    我创建了新的 XML 文件temp xml 当我尝试在其中添加文本视图时 没有向我显示任何建议 当我单击 TextView 时 添加的 TextView 没有正文 然后我从其他文件复制粘贴一些代码 并尝试向 TextView 编辑器提供大小
  • 加载规则“jsx-a11y/alt-text”时出错:rule.create 不是函数

    我刚刚用过npx create react app my app启动一个项目并在运行时npm start我收到这个编译错误 Error while loading rule jsx a11y alt text rule create is
  • UTF8 到 php 中的等效数字

    我一直在寻找我的 试图找到一个 PHP 函数来将 UTF8 转换为等效的数字 我不完全确定如何称呼这个数字 我听说它被称为纵坐标 但这里有一个例子 http jrgraphix net r Unicode 3040 309F http jr
  • 继承最派生类型的抽象类

    不幸的是 我找不到导致我提出这个问题的原始项目 这也许会给这个问题更多的背景 EDIT 我找到了我在其中看到的原始项目 http mews codeplex com SourceControl changeset view 63120 10
  • SAP Hana 开发中的 OData 与 XSJS

    我正在使用 SAP Hana studio 开发一个应用程序 我对为什么要使用 XSODATA 以及为什么要使用 XSJS 感到困惑 为什么我不能仅使用 XSODATA 文件来执行所有数据库事务 我知道 XSJS 是服务器端的 但如果我正在
  • HQL“包含”声明如何?

    我有一个实体 它有一个名为 标签 的字符串属性 我想根据某个字符串是否位于 Tags 属性中来查询该实体 例如 我有一个函数 IList GetEntityByTag string tag 这将返回 Tags 属性中具有标签值的所有实体 我
  • github markdown colspan

    有没有办法有 colspan on github 降价 我正在尝试创建一个表格 其中一行占据四列 One Two Three Four One Two Three Four One Two Three Four
  • 使用 linq 解析样式属性集合

    我想解析 SVG 样式属性 它只是一个分隔字符串 例如 填充 e2b126 描边 010101 描边宽度 0 3177 描边斜接限制 10 into a Dictionary