weixin_41566094 2018-11-12 05:09 采纳率: 66.7%
浏览 1482
已采纳

c# 在命令行中输入任意10个字符串,根据字符串类型将输入的数据放入到不同数组中,最后将数组进行排序

1、输入的字符串,可以是手机、邮箱、身份证等
2、只将手机、邮箱的字符串筛选出来放到两个数组中,其余的放入yi'ge'shu'zu'zhon
3、数组按照升序排序,比如数组[6,3,8,2,4],按照升序排序后结果为[2,3,4,6,8]

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-12 15:14
    关注
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    
    namespace Q712950
    {
        class Program
        {
            static string Classify(string s)
            {
                if (Regex.IsMatch(s, "1[35678]\\d{9}")) return "手机";
                if (Regex.IsMatch(s, @"[a-zA-Z\d_\-]+@[a-zA-Z\d_\-]+\.[a-zA-Z\d_\-]+")) return "邮箱";
                return "其它";
            }
            static void Main(string[] args)
            {
                string[] arr = new string[10];
                for (int i = 0; i < arr.Length; i++)
                    arr[i] = Console.ReadLine();
                var query = arr.GroupBy(Classify).Select(x => new { key = x.Key, value = x.OrderBy(y => y) });
                foreach (var item in query)
                {
                    Console.WriteLine(item.key + ":");
                    Console.WriteLine("\t" + string.Join(", ", item.value));
                }
            }
        }
    }
    
    

    图片说明

    如果问题得到解决,请点我回答左上角的采纳,谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料