我有树视图。有根有根,根生枝。
因此,假设 root->1、root->2、root->3... 没有嵌套树。也就是说,1、2、3 本身就是元素。问题是如何获取所选元素的索引?
根
__C++
__Java
__C#
假设在用户点击Java的那一刻,如何确定数字=2(嗯,还是1,毕竟从0开始编号,C++为0,Java为1,C#为2)。我希望我解释清楚,如果我能详细说明的话。
我有树视图。有根有根,根生枝。
因此,假设 root->1、root->2、root->3... 没有嵌套树。也就是说,1、2、3 本身就是元素。问题是如何获取所选元素的索引?
根
__C++
__Java
__C#
假设在用户点击Java的那一刻,如何确定数字=2(嗯,还是1,毕竟从0开始编号,C++为0,Java为1,C#为2)。我希望我解释清楚,如果我能详细说明的话。
每个人都知道在矩阵中找到最短路径的经典问题。假设 0 表示空闲单元,1 表示墙,S 表示开始,F 表示结束。通过广度优先搜索解决。我需要解决一个类似的问题:现在地图上也有物体,你需要将它们全部收集并返回到S点(F点不再存在,因为不需要它)。你需要找到最短的路线。我有这样一个想法:每次都找到最近的物体,然后捡起来。但我不确定这样的算法是否有反测试,而且我通常无法证明其正确性。有人能准确地告诉我这个算法是否正确吗?或者提供一个 100% 正确的算法。
我决定使用 IEnumerable 接口。我为数组创建了自己的类并实现了 GetEnumerator 方法。但是为什么第27行没有public会出现错误呢?此外,我在某处读到,相反,在实现接口时,不能编写 public 。
using System;
using System.Collections;
class Interfaces
{
public class IntArray: IEnumerable
{
private int[] a;
public IntArray(int n)
{
a = new int[n];
}
public int this[int i]
{
get
{
return a[i];
}
set
{
a[i] = value;
}
}
public IEnumerator GetEnumerator() // Почему без public ошибка?
{
for (int i = 0; i < a.Length; i++)
yield return a[i];
}
}
static void Main()
{
IntArray x = new IntArray(10);
for (int i = 0; i < 10; i++)
x[i] = 2 * i;
foreach (var t in x) Console.Write(t + " ");
Console.WriteLine();
}
}
这是一个非常简单的代码。
using System;
class Test
{
static void Main()
{
byte x = byte.Parse(Console.ReadLine());
byte y = byte.Parse(Console.ReadLine());
Console.WriteLine(x + y);
}
}
当你输入123和221时,它输出344。但是应该有溢出,为什么没有发生呢?为什么它没有输出 344 - 255 = 89?