C#实现多个字符串循环输入、有选择对比和输出数字

C#实现多个字符串循环输入、有选择对比和输出数字


前言

最近在用SPSS处理数据,需要将的都是整数,而我们的问卷都是字符型,就需要进行转换。
同时我们有200个数据,因此需要循环输入和循环比较。
之前是用c写的,正好最近在学C#,同时相关的讲解文章有点少,所以这个就是给刚开始学C#的同学一点学习心得,以及少走点弯路。
编程水平有点菜,还请大佬海涵!

一、一些关键点

  1. 我是用的for进行循环输入的,毕竟感觉最方便。
  2. 字符串输入:string定义字符串,Read Line从键盘输入,字符串可以直接用“==”、“!=”进行比较。
  3. 通过比较运算符进行比较时可以直接用字符数组进行比较,而用Compare方法时会报类型错误,同时Compare是对字符串的全面比较并指示相对位置,因此用比较运算符是最方便的。

二、使用步骤

1.引入库

代码如下(示例):
只复制了static部分,其他部分是vs直接生成的

static void Main(string[] args)
		{
			int i, j, k, l;
			Console.WriteLine("数据的总量为");
			k = Convert.ToInt32(Console.ReadLine());
			Console.WriteLine("请输入要比较的字符数量:");
			l = Convert.ToInt32(Console.ReadLine());
			String[] a = new string[l];
			Console.WriteLine("请输入要比较的字符:");
			for (i = 0; i < l; i++)
			{
				a[i] = Console.ReadLine();
			}
			string[] Arr = new string[k];
			Console.WriteLine("please input the data:");
			for (i = 0; i < k; i++)
			{
				Arr[i] = Console.ReadLine();
			}
			Console.WriteLine("结果为:");
			for (j = 0; j < k; j++)
			{
				for (i = 0; i < l; i++)
				{
					if (Arr[j] == a[i])
						Console.WriteLine(i+1);
					else if
					    Console.WriteLine(" ");
				};
			};
			Console.ReadKey();
			}

## 2.读入数据
数据的总量为
5
请输入要比较的字符数量:
3
请输入要比较的字符:
vs
code
like
please input the data:
code
vs
code
like
vs
结果为:
2
1
2
3
1
  这是将输入封装了一便,如果改动小的话直接在源代码中将要进行比较的字符定义了就行。
  3.18更新:优化了一下有选择输入,之前是只能比较4个不同的数值,现在可以比较任意数量的数值了。
  这里有个bug,就是当输入的字符不在要比较的里面的话,是没有办法显示出来的。我也试过加入空格进行占位,但因为用循环的话每个输入结果都要进行一遍比较,不一样的地方就都会加个空格。这里我还在想具体应该怎么弄,有大佬知道的话希望可以告诉我,非常感谢。

总结

其实也不是特别难,可能就是因为太简单大佬才懒得写这种代码.。。。
不过我当时确实想了好长时间,还算有点成就感。
这是我在CSDN上的第一篇文章,如果你也是刚学C#并且本文有帮助的话,希望可以点个赞,谢谢啦!
附录:这是之前的代码,如果数据和要比较的数据里没有相等的值,可以输出为0,但输入数量会受限制。

static void Main(string[] args)
		{
			int i, j, k,l;
			
			String a ;
			String b;
			String c ;
			String d ;
			String e ;
			Console.WriteLine("数据的总量为");
			k = Convert.ToInt32(Console.ReadLine());
			Console.WriteLine("请输入要比较的数据");
			a = Console.ReadLine();
			b = Console.ReadLine();
			c = Console.ReadLine();
			d = Console.ReadLine();
			string[] Arr = new string[k];
			Console.WriteLine("please input the data:");
			for (i = 0; i < k; i++)
			{
				Arr[i] = Console.ReadLine();
			}
			for (j = 0; j < k; j++)
				{
					if (Arr[j]==a)
						Console.WriteLine("1");
					else if (Arr[j]== b)
						Console.WriteLine("2");
					else if (Arr[j] == c)
						Console.WriteLine("3");
					else if (Arr[j] == d)
						Console.WriteLine("4");
					else 
						Console.WriteLine("0");
				};			
			Console.ReadKey();
		}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值