小编use*_*390的帖子

按 Arraylist 中的顺序按键对字典进行排序

我在一次采访中被问到以下问题。如何按键按数组列表中的顺序对字典进行排序。

所以例如我有一个字典如下

Dictionary<string, string> stringDict = new Dictionary<string, string>();

stringDict.Add("1", "One");
stringDict.Add("7", "Seven");
stringDict.Add("6", "Six");
stringDict.Add("2", "Two");
stringDict.Add("3", "Three");
stringDict.Add("5", "Five");
stringDict.Add("4", "Four");
Run Code Online (Sandbox Code Playgroud)

和一个数组列表如下

ArrayList stringArList = new ArrayList();

stringArList.Add("1");
stringArList.Add("2");
stringArList.Add("3");
stringArList.Add("5");
stringArList.Add("6");
stringArList.Add("7");
stringArList.Add("4");
Run Code Online (Sandbox Code Playgroud)

如何按照它在数组列表中的顺序对字典进行排序?

c# dictionary arraylist

5
推荐指数
1
解决办法
4982
查看次数

给出两个整数的方法返回最接近1000的值

我得到了这个编码任务,这就是我想出的.有没有更好,更有效的方法来做到这一点?

public void GetNumberClosestToValue(int num1, int num2)
{
    int numberToCompareTo = 1000;

    try
    {
        int modNum1 = num1 % numberToCompareTo;
        int modNum2 = num2 % numberToCompareTo;

        int quotientNum1 = num1 / numberToCompareTo;
        int quotientNum2 = num2 / numberToCompareTo;

        if (num1 == num2 || Math.Abs(numberToCompareTo - num1) == Math.Abs(numberToCompareTo - num2))
            Console.WriteLine("Both numbers {0} , {1} are equally closer to {2} ", num1, num2, numberToCompareTo);
        else if (quotientNum1 == quotientNum2)
            Console.WriteLine("Number Closest to {0} is {1}", numberToCompareTo, modNum1 > modNum2 ? …
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
772
查看次数

标签 统计

c# ×2

arraylist ×1

dictionary ×1