.Net Core 笔试1

1、用两个线程一个输出字母一个输出数字,交替输出Chat数组

cs 复制代码
            char[] aI = "1234567".ToCharArray();
            char[] aC = "ABCDEFG".ToCharArray();
            Task task1 = null;
            Task task2 = null;

            task1 = Task.Run(() =>
            {
                foreach (var item in aI)
                {
                    Console.WriteLine(item);
                    task1.Wait(100);
                }
            });
            task2 = Task.Run(() =>
            {
                foreach (var item in aC)
                {
                    Console.WriteLine(item);
                    task2.Wait(100);
                }
            });
            Task.WaitAll(task1, task2);
            Console.ReadLine();

2、用C#代码获取文件夹里及子文件夹所有文件名

cs 复制代码
        static void Main(string[] args)
        {
            string filePath = @"E:\笔记";
            string[] strs = Directory.GetFiles(filePath, "*", SearchOption.AllDirectories);
            foreach (var item in strs)
            {
                Console.WriteLine(item);
            }
        }

3、二分查找

cs 复制代码
        //二分查找
        public static int Erfen(int[] ints, int target)
        {
            int left = 0, right = ints.Length - 1;
            
            while(left < right)
            {
                int mid = left + (right - left) / 2;
                if (ints[mid] == target)
                {
                    return mid;
                }else if (ints[mid] < target)
                {
                    left = mid + 1;
                }
                else
                {
                    right = mid - 1;
                }
            }
            return -1;
        }

4、斐波那契数列

cs 复制代码
using System.Collections;
using System.Text.Json;
namespace Test1
{
    internal class Program
    {
       
        static void Main(string[] args)
        {
            Console.WriteLine("Feibo1");
            Console.WriteLine(Feibo1(1));
            Console.WriteLine(Feibo1(2));
            Console.WriteLine(Feibo1(3));
            Console.WriteLine(Feibo1(4));
            Console.WriteLine(Feibo1(5));
            Console.WriteLine("Feibo2");
            Console.WriteLine(Feibo2(1));
            Console.WriteLine(Feibo2(2));
            Console.WriteLine(Feibo2(3));
            Console.WriteLine(Feibo2(4));
            Console.WriteLine(Feibo2(5));
            Console.WriteLine("Feibo3");
            foreach (var item in Feibo3().Take(10))
            {
                Console.WriteLine(item);//斐波那契数列
            }
        }


        //递归
        public static int Feibo1(int n)
        {
            if (n == 1)
            {
                return 0;
            }
            if (n == 2 || n == 3) { return 1; }
            if (n > 3)
            {
                return Feibo1(n-2)+Feibo1(n-1);
            }
            return 0;
        }

        //迭代循环
        public static int Feibo2(int n)
        {
            if (n == 1)
            {
                return 0;
            }
            if (n == 2) { return 1; }

            int first = 0, second = 1, next = 0;
            for (int i = 3; i <= n; i++)
            {
                next = first + second;
                first = second;
                second = next;
            }
            return next;
        }
        
        //
        public static IEnumerable<int> Feibo3()
        {
            var (x, y) = (0, 1);
            yield return x;
            yield return y;

            while (true)
            {
                (x, y) = (y, x + y);
                yield return y;
            }
        }
    }
}
相关推荐
遂心_1 小时前
为什么 '1'.toString() 可以调用?深入理解 JavaScript 包装对象机制
前端·javascript
IT_陈寒1 小时前
JavaScript 性能优化:5 个被低估的 V8 引擎技巧让你的代码快 200%
前端·人工智能·后端
岛风风2 小时前
关于手机的设备信息
前端
ReturnTrue8682 小时前
nginx性能优化之Gzip
前端
w_y_fan3 小时前
Flutter 滚动组件总结
前端·flutter
wuli金居哇3 小时前
我用 Turborepo 搭了个 Monorepo 脚手架,开发体验直接起飞!
前端
Asort3 小时前
JavaScript 从零开始(五):运算符和表达式——从零开始掌握算术、比较与逻辑运算
前端·javascript
一枚前端小能手3 小时前
🚀 缓存用错了网站更慢?前端缓存策略的5个致命误区
前端·javascript
艾小码3 小时前
为什么你的页面会闪烁?useLayoutEffect和useEffect的区别藏在这里!
前端·javascript·react.js
艾小码3 小时前
告别Vue混入的坑!Composition API让我效率翻倍的3个秘密
前端·javascript·vue.js