A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小周学诚 中级黑马   /  2013-7-26 21:42  /  1188 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个数组
{"a","b","c","d".............}
如何根据提供的值 得到其下标? 用什么函数?

10 个回复

倒序浏览
string[] strArray = { "a","b","c", "d", "e" };
            string input = Console.ReadLine();
            for (int i = 0; i < strArray.Length; i++)
            {
                if (strArray == input)
                {
                    Console.WriteLine("{0}的下标是{1}", input, i);
                }
            }
            Console.ReadKey();
遍历数组时判断是否跟提供的值相等,是的话输出下标。
回复 使用道具 举报
上面的IF语句,strArry【I】,  自动变成斜体了,你注意一下。
回复 使用道具 举报
string[] strArray = { "a","b","c", "d", "e" };
             string input = Console.ReadLine();
             for (int i = 0; i < strArray.Length; i++)
             {
                 if (strArray【I】 == input)
                 {
                     Console.WriteLine("{0}的下标是{1}", input, i);
                 }
             }
             Console.ReadKey();
红色部分换成半角符号和小写i,  ....打不出来,会变成斜体  - -
回复 使用道具 举报
{:soso_e113:}借用下王同学的代码:
  1.              string[] strArray = { "a","b","c", "d", "e" };
  2.              Console.WriteLine("输入abcde中任一字母得到其在数组中的下标(回车键确认输入)");
  3.              string input = Console.ReadLine();
  4.              for (int i = 0; i < strArray.Length; i++)
  5.              {
  6.                  if (strArray[i] == input)
  7.                  {
  8.                      Console.WriteLine("{0}的下标是{1}", input, i);
  9.                  }
  10.              }
  11.              Console.ReadKey();
复制代码
回复 使用道具 举报
楼主问题解决后及时修改为已解决~
回复 使用道具 举报
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ifelse
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] strArray = { "a", "b", "c", "d", "e" };
            Console.WriteLine("已知数组中的元素如下: \n");
            //使用foreach语句遍历数组
            foreach (string str in strArray)
            {
                Console.Write(str+" ");
            }
            //声明集合list并初始化
            ArrayList list = new ArrayList(strArray);
            Console.WriteLine("请输入你想要查找的元素:");
            //调用indexof函数输出元素索引位置
            Console.WriteLine("你所查找的元素位置为:"+list.IndexOf(Console.ReadLine()));
            

            Console.ReadKey();

        }
    }
}
这里面我用的是调用集合的indexof方法,楼主可以试试。
回复 使用道具 举报
小天 中级黑马 2013-7-27 13:58:02
8#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication18
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] str = {"a","b","c","d"};
            string str1="";
            for (int i = 0; i < str.Length; i++)
            {
               str1=str1+str[i];
            }
            Console.WriteLine("数组中包含的元素:{0}",str1);
                Console.WriteLine("请输入要查找的字符:");
            string result = Console.ReadLine();
            int m = 0;
            bool flag = false;
            foreach(string input in str)
            {
                if (result == input)
                {
                    Console.WriteLine("下标位置:"+m);
                    flag = true;
                }
                m++;
            }
            if (flag == false)
            {
                Console.WriteLine("查找失败,程序结束");
            }
            Console.ReadKey();
        }
    }
}
回复 使用道具 举报
黑骏马 发表于 2013-7-27 01:06
借用下王同学的代码:

交交我怎么打你这种代码,我直接沾代码,下面都变成斜体了:'(
回复 使用道具 举报
王云峰 发表于 2013-7-27 20:38
交交我怎么打你这种代码,我直接沾代码,下面都变成斜体了

点编辑器上的<>图标,把代码复制进去就好了{:soso_e112:}




回复 使用道具 举报
黑骏马 发表于 2013-7-27 21:32
点编辑器上的图标,把代码复制进去就好了

喔喔,谢谢,知道了。  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马