相关疑难解决方法(0)

C#未初始化的变量是危险的吗?

我熟悉C#规范,第5.3节,它说在使用之前必须分配一个变量.

在C和非托管C++中,这是有道理的,因为堆栈没有被清除,并且用于指针的内存位置可能在任何地方(导致难以追踪错误).

但我的印象是运行时不允许真正的"未分配"值.特别是未初始化的引用类型将始终具有空值,而不是先前调用方法或随机值所遗留的值.

这是正确的,还是我错误地假设这些年来检查null是否足够?你可以在C#中使用非真实的变量,或者CLR是否会处理这个变量并且总是设置了一些值.

c# clr

36
推荐指数
3
解决办法
5081
查看次数

二进制搜索算法出现错误 - 使用未分配的局部变量

我正在学习如何从头开始创建二进制搜索算法的教程.但是我收到错误"使用未分配的局部变量'Pivot'".我是这门语言的新手,以前只尝试过更简单的语言.

我为缺乏内部文档和使用空白区域而道歉.

错误是在使用"//"标记的代码底部附近

这是程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Binary_Search_2
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[10];

            Random rnd = new Random();

            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = rnd.Next(1, 10);
            }

            Array.Sort(arr);
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write("{0},", arr[i]);
            }
            int Start = 0;
            int End = arr.Length;
            int Center = Start + End / 2;

            int Pivot; …
Run Code Online (Sandbox Code Playgroud)

c# algorithm variables unsigned

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

标签 统计

c# ×2

algorithm ×1

clr ×1

unsigned ×1

variables ×1