c#考试知识点

第一题

cs 复制代码
//数组{1,2,3,,8,6}
//方法(数组,目标值)
//输出
//接收一个数组,输出目标值是数组中哪两个数的和,并输出下标
using System;
using System.Collections.Generic;//使用字典
class Program
{
    static void Main()
    {
        //实例化对象
        Solution solution = new Solution();
        int[] nums = { 1, 2, 3, 4, 5, 6 };
        int target = 11;
        int[] result = solution.TowSum(nums, target);
        Console.WriteLine("["+result[0]+","+result[1]+"]");
    }
}
public  class Solution
{
    public int[] TowSum(int[] nums,int target)
    {
        //初始化字典,特点:键值对来存储数据
        //键必须是唯一的,尝试添加重复的键会抛出 ArgumentException
        //键不能为 null,如果键类型是引用类型,确保键不为 null,否则会抛出 ArgumentNullException。
        //值可以是 null,具体取决于值的类型。
        Dictionary<int ,int>numMap=new Dictionary<int ,int>();

        for(int i=0;i<nums.Length;i++)
        {
            //目标值-数组的其中一个元素=数组的另一个元素
            int conplement = target - nums[i];
            //ContainsKey 是 Dictionary 类中的一个方法,用于检查字典中是否包含特定键
            //返回值为bool
            if (numMap.ContainsKey(conplement))
            {
                // 返回这两个元素的索引
                return new int[] { numMap[conplement],i };
            }
            // 如果字典中不存在这个差值,将当前元素及其索引存入字典
            numMap[nums[i]] = i;
        }
        // 如果循环结束后仍未找到,抛出异常,表示目标值在数组中不存在
        throw new ArgumentException("该目标指在数组中不存在");
    }
}

其他知识点

一、数组的声明

1.指定数组大小和类型直接声明

int[] 数组名=new int[6]

2.直接声明初始化

int[] 数组名={元素1,元素2、、、、、、}

二、特殊背记知识点

1、装箱:把值类型转换为引用类型

拆箱:把引用类型转换成值类型

2、面向对象的三大特性:封装、继承、多态

3、Sealed关键字修饰不允许继承,c#不支持多继承,只允许继承一个父辈

继承是耦合的直接体现,要少点继承

4.for(;;){ }是一个死循环,会一直执行方法体

5.Dictionary特点:键值对储存数据

6.Trim()去掉两端空格的方法

7.{ }符号通常称为代码块,{ 代表代码块中代码的开始,} 表示代码块中的代码结束

8.参数值传递和引用传递

9.==比较运算符,比较两个值的大小

10.逻辑与&&:全真则真,一假全假

11.逻辑或||一真则真

12.c#中的bool值只有true和false

13.String 字符串用符号"+"来连接

14.循环遇到break终止

15.switch语句中必有标签break,default可以不用有

16.goto标签在实际开发中不建议使用

1.如何实现碰撞功能(碰撞的必要条件)OnCollisonEnter

2.unity中如何实现触发功能(设置触发区域),OnTriggerEnter(碰撞器组件)

3.按键处理

(1)如何获取水平轴Horizontal

(2)如何获取垂直轴Vertical

(3)如何获取特定的按键KeyCode.F

(4)如何实现按wasd移动

相关推荐
视觉小萌新7 分钟前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
2301_801760938 分钟前
数据结构--PriorityQueue
数据结构
乐悠小码13 分钟前
数据结构------队列(Java语言描述)
java·开发语言·数据结构·链表·队列
2的n次方_18 分钟前
二维费用背包问题
java·算法·动态规划
simple_ssn1 小时前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode
寂静山林1 小时前
UVa 11855 Buzzwords
算法
Curry_Math1 小时前
LeetCode 热题100之技巧关卡
算法·leetcode
ahadee1 小时前
蓝桥杯每日真题 - 第10天
c语言·vscode·算法·蓝桥杯
机器人天才一号1 小时前
C#从入门到放弃
开发语言·c#
吾与谁归in1 小时前
【C#设计模式(10)——装饰器模式(Decorator Pattern)】
设计模式·c#·装饰器模式