You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio中搭建LeetCode的C#解题环境及相关问题咨询

Visual Studio中搭建LeetCode C#控制台环境指南

一、目标框架选择建议

  • 优先选择**.NET 6及以上版本**(包括.NET 7、.NET 8):这类版本支持顶级语句特性,无需手动编写完整的Program类和Main方法结构,代码更简洁,适合快速刷题测试;同时LeetCode官方的C#运行环境已支持.NET 6,选择同版本框架能最大程度避免本地与平台的兼容性差异。
  • 若习惯传统完整类结构,.NET 5及以下版本也可使用,但不推荐——新框架的语法糖能大幅减少冗余代码,提升刷题效率。

二、Program类代码编写示例

1. .NET 6+ 顶级语句写法(推荐)

直接编写解法方法和测试代码,编译器会自动生成Main方法,无需包裹在Program类中:

// 定义LeetCode题目的解法方法
int[] TwoSum(int[] nums, int target) {
    var numMap = new Dictionary<int, int>();
    for (int i = 0; i < nums.Length; i++) {
        int complement = target - nums[i];
        if (numMap.ContainsKey(complement)) {
            return new int[] { numMap[complement], i };
        }
        numMap[nums[i]] = i;
    }
    return Array.Empty<int>();
}

// 测试用例
int[] testNums = {2, 7, 11, 15};
int testTarget = 9;
int[] result = TwoSum(testNums, testTarget);
Console.WriteLine($"输出结果:[{string.Join(", ", result)}]");

2. 传统Main方法结构写法(兼容旧框架)

若使用.NET 5及以下版本,需编写完整的Program类,注意被Main调用的方法需添加static修饰(因为Main是静态方法):

using System;
using System.Collections.Generic;

namespace LeetCodePractice
{
    class Program
    {
        static void Main(string[] args)
        {
            // 调用解法方法并执行测试
            int[] testNums = {2, 7, 11, 15};
            int testTarget = 9;
            int[] result = TwoSum(testNums, testTarget);
            Console.WriteLine($"输出结果:[{string.Join(", ", result)}]");
        }

        // 可被Main调用的静态解法方法
        static int[] TwoSum(int[] nums, int target)
        {
            var numMap = new Dictionary<int, int>();
            for (int i = 0; i < nums.Length; i++) {
                int complement = target - nums[i];
                if (numMap.ContainsKey(complement)) {
                    return new int[] { numMap[complement], i };
                }
                numMap[nums[i]] = i;
            }
            return Array.Empty<int>();
        }
    }
}

刷题小技巧

  • 每个题目可单独编写为一个静态方法,在Main中按需调用测试;
  • 多添加边界测试用例,通过Console.WriteLine快速验证结果是否符合预期;
  • 可复用通用工具方法(如数组打印、链表遍历等),减少重复代码。

内容的提问来源于stack exchange,提问作者Codinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 11:36:14