答: C#通过提供索引器,可以象处理数组一样处理对象。特别是属性,每一个元素都以一个get或set方法暴露。索引器不单能索引数字(数组下标),还能索引一些HASHMAP的字符串,所以,通常来说,C#中类的索引器通常只有一个,就是THIS,但也可以有无数个,只要你的参数列表不同就可以了索引器和返回值无关, 索引器最大的好处是使代码看上去更自然,更符合实际的思考模式。
微软官方一个示例:
索引器允许类或结构的实例按照与数组相同的方式进行索引。 索引器类似于属性,不同之处在于它们的访问器采用参数。 在下面的示例中,定义了一个泛型类(class SampleCollection
class SampleCollection<T>
{
private T[] arr = new T[100];
public T this[int i] //注意,定义索引器。this 关键字用于定义索引器。
{
get
{
return arr[i]; //访问器采用参数
}
set
{
arr[i] = value; //访问器采用参数
}
}
}
class Employee
{
public string firstName;
public string middleName;
public string lastName;
public string this[string index]
{
set
{
switch (index)
{
case "a":
firstName = value;
break;
case "b":
middleName = value;
break;
case "c":
lastName = value;
break;
default: throw new ArgumentOutOfRangeException("index");
}
}
get
{
switch (index)
{
case "a": return firstName;
case "b": return middleName;
case "c": return lastName;
default: throw new ArgumentOutOfRangeException("index");
}
}
}
// This class shows how client code uses the indexer
class Program
{
static void Main(string[] args)
{
SampleCollection<string> stringCollection = new SampleCollection<string>();
stringCollection[0] = "Hello, World"; //这里 使用索引器进行引用
Console.WriteLine(stringCollection[0]);
Employee ee = new Employee();
ee.firstName = "胡";
ee.middleName = "大";
ee.lastName = "阳";
ee["a"] = "sa";
Console.WriteLine("我的名字叫: {0}{1}{2}", ee["a"], ee["b"], ee["c"]);
}
}
本文向大家介绍详细描述一下Elasticsearch索引文档的过程?相关面试题,主要包含被问及详细描述一下Elasticsearch索引文档的过程?时的应答技巧和注意事项,需要的朋友参考一下 面试官:想了解ES的底层原理,不再只关注业务层面了。 解答: 这里的索引文档应该理解为文档写入ES,创建索引的过程。 文档写入包含:单文档写入和批量bulk写入,这里只解释一下:单文档写入流程。 记住官方文档
本文向大家介绍详细描述一下 Elasticsearch 索引文档的过程。相关面试题,主要包含被问及详细描述一下 Elasticsearch 索引文档的过程。时的应答技巧和注意事项,需要的朋友参考一下 协调节点默认使用文档 ID 参与计算(也支持通过 routing),以便为路由提供合适的分片。 shard = hash(document_id) % (num_of_primary_shards)
我有一个这种格式的数据框 我希望使用数据帧操作获得基于行的特定值的所有(索引、列)对。所有(索引、列、行值)对都是唯一的。 我研究了这个问题:pythonic方法获取索引,column for value==1 虽然这个问题和我的问题完全一样,但这个问题的答案有点模糊,我无法根据这些答案得到我想要的。 我也看过类似的: a) 从数据框中选择特定索引、列对 b) Python:获取与特定值匹配的行的
我有两个形状相同的python数据帧,例如: 我想使用df2中的值作为行索引来选择df1中的值,并创建一个形状相等的新数据帧。预期结果: 我已尝试使用.loc,它在单个列中运行良好: 但是我不能同时在所有列上使用. loc或. iloc。我想避免循环来优化性能,因为我正在处理一个大数据帧。有什么想法吗?
主要内容:定义索引器,索引器重载索引器(英文名:Indexer)是类中的一个特殊成员,它能够让对象以类似数组的形式来操作,使程序看起来更为直观,更容易编写。索引器与 属性类似,在定义索引器时同样会用到 get 和 set 访问器,不同的是,访问属性不需要提供参数而访问索引器则需要提供相应的参数。 定义索引器 C# 中属性的定义需要提供属性名称,而索引器则不需要具体名称,而是使用 this 关键字来定义,语法格式如下: 索引器类型
目前,我有一个名为的,看起来像这样,其中几何体表示一个点(纬度、经度)。 给定另一个点(lat,long),我想找到从这个数据框到那个特定点的最近点。我用距离函数计算了最近的点 现在我有一个系列,看起来像这样 我怎样才能得到一个Geodataframe的副本,它按相同的顺序排序,如下所示?谢谢