没女女甩的猪 2021-12-25 17:07 采纳率: 100%
浏览 47
已结题

让用户任意输入一串字符串,自动剔除重复数值只保留一个,最后输出。用StringBuilder。

思路是
先将字符串变成一串数组,
创建StringBuilder
然后用for冒泡排序,如果有重复的就覆盖掉原有的位置数值,然后继续下一轮,直至完成。
但发现用StringBuilder是无法把过程中的重复数值覆盖。
本人初学,请各位能否用基础点的知识解答?

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2021-12-25 18:03
    关注

    可以用字典来存储已经加入的字符,用Linq是最简单的。示例代码如下

    img

    using System;
    using System.Text;
    using System.Linq;
    using System.Collections.Generic;
    public class Demo
    {
        static void Main()
        {
            string s = Console.ReadLine();
            //Linq
            Console.WriteLine(String.Join("", s.ToCharArray().GroupBy(i => i).Select(i => i.FirstOrDefault())));
    
            Dictionary<char, bool> kv = new Dictionary<char, bool>();
            StringBuilder sb = new StringBuilder();
            foreach (var c in s)
                if (!kv.ContainsKey(c))
                {
                    sb.Append(c);
                    kv[c] = true;
                }
    
            Console.WriteLine(sb);
            Console.ReadKey();
        }
    }
    
    

    img


    有帮助或启发麻烦点下【采纳该答案】,谢谢~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 已采纳回答 12月27日
  • 创建了问题 12月25日

悬赏问题

  • ¥60 用r语言进行数据分析
  • ¥20 关于游戏c++语言代码问题
  • ¥15 如何制作永久二维码,最好是微信也可以扫开的。(相关搜索:管理系统)
  • ¥15 delphi indy cookie 有效期
  • ¥15 labelme打不开怎么办
  • ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
  • ¥15 免费的电脑视频剪辑类软件如何盈利
  • ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
  • ¥15 pycharm中导入模块出错
  • ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。