乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 84|回复: 4

范围字符串到数组

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2022-1-5 17:42:41 | 显示全部楼层 |阅读模式
我有一个字符串扩展方法,可以将范围内的数字字符串(如“1-25,36,45,50-100”)转换为包含范围内所有数字的整数数组。多年来,它一直运行良好,但是我现在需要它来处理比标准整数大得多的uint数。这意味着
公共静态uint[]RangedStringToArray(此字符串值)
{
var result=value.Split(',')
。选择(x=>x.Split(“-”)
。选择(p=>new{First=uint.Parse(p.First()),Last=uint.Parse(p.Last())})
.SelectMany(x=>可枚举范围(x.First,x.Last-x.first1+1))
.OrderBy(z=>z)
返回结果。ToArray
()
}
x.Split ('-'))。
,选择(p=>new{First=uint.Parse(p.First()),last=uint.Parse(p.Last ()) })。
. Select众多(x=>GetUIntRange(x.First,x.Last-x.First+1))。
,OrderBy(z=>z);。
返回result.ToArray();。
}。

静态无效主(字符串[]参数)。
{。
var range=RangedStringToArray("1-25,36,45,50-100");。
foreach(范围内的var项目)。
Console.WriteLine(项目);。
Console.ReadLine();。
}。
}。
}。

回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2022-1-5 18:25:57 | 显示全部楼层
My 2 cents public static uint[] RangedStringToArray(此字符串值)。
{。
变量结果 = 值,斯普利特(',')。
,Select(x => x.Split('-'))。
,Select(p => new { First = uint.Parse(p.First()), Last = uint.Parse(p.Last()) })。
,SelectMany(x => Range(x.First, x.Last))。
,OrderBy(z => z);。
返回结果,ToArray();。
}。

公共静态 I枚举范围(uint start, uint end)。
{。
if (end 。
for (uint i = start; i 。
收益率回报 i;。
}。
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2022-1-5 22:45:04 | 显示全部楼层
F#太好玩了:    type String with 。
成员字符串,RangedStringToArray =。
字符串,拆分(',')。
| > array . map(fun s-> s . Split('-'))。
| > array . collect(fun a->[| uint 32,解析(a.[0])..UInt32,parse(a .[a . Length-1])|])   
  1. > "1-5,36,45,50-53".RangedStringToArray;;
  2. val it : uint32 [] = [|1u; 2u; 3u; 4u; 5u; 36u; 45u; 50u; 51u; 52u; 53u|]

回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2022-1-6 02:36:47 | 显示全部楼层
谢谢很多人,非常感谢!
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2022-1-6 03:10:51 | 显示全部楼层

你是个有趣的人,丹尼尔
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:15 , Processed in 0.184233 second(s), 62 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表