小编San*_*eep的帖子

为什么我们不能在派生类中访问方法之外的基本属性?

我遇到了这个问题:

namespace ClassLibrary3
{
    public class Class1
    {
        public int a { get; set; }
        public int A { get; set; }
    }

    public class test : Class1
    {
        a=1; // error 'ClassLibrary3.Class1.a' is a 'property' but is used like a 'type'
        public void hello()
        {
            a = 10;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Marc Gravell说"除了字段初始化器,代码必须在方法中".

为什么派生类不能访问方法之外的属性?这背后的原因是什么?

.net c# properties

2
推荐指数
1
解决办法
513
查看次数

.NET 4.0 C#中的并发读者

我在编程竞赛中遇到了这个难题,我不应该使用任何内置的并发.NET 4.0数据结构.

我必须覆盖该ToString()方法,此方法应该支持并发读者.

这是我提出的解决方案,但我坚信它不支持并发读者.如何在不锁定列表的情况下支持并发读者?

class Puzzle
{
    private List<string> listOfStrings = new List<string>();

    public void Add(string item)
    {
        lock (listOfStrings)
        {
            if (item != null)
            {
                listOfStrings.Add(item);
            }
        }
    }

    public override string ToString()
    {
        lock (listOfStrings)
        {
            return string.Join(",", listOfStrings);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# concurrency

2
推荐指数
1
解决办法
774
查看次数

RemoveAll()的目的

我是Linq的新手.根据我的理解,LINQ应仅用于查询,但不能用于修改集合或数据库等.

如果是这样的话,为什么微软提供RemoveAll()扩展?

据我所知,RemoveAll()修改了集合.

这不符合Linq的目的吗?

有人可以解释提供的原因RemoveAll()吗?

.net c# linq

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

Obj-c中数组的文字语法

在阅读这篇博客时,作者说

NSArray *array = @[ @"one", @"two" ];
Run Code Online (Sandbox Code Playgroud)

如果上面的数组是一个全局变量,那么它就会出错.原因是

这是因为@ []语法字面上转换为对NSArray方法的调用.编译器无法在编译时计算该方法的结果,因此在此上下文中它不是合法的初始值设定项.

我的问题是方法中的相同声明如何有效?

objective-c ios

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

编译器如何知道它超出了范围?

Main()
{
  int i =0;
  ...
  ...
  while(true)
  {
   int k =0;
   ...
   ...
  }
// K is out of scope..
}
Run Code Online (Sandbox Code Playgroud)

编译器如何知道K超出范围?

c# compiler-construction scope

0
推荐指数
1
解决办法
353
查看次数

如何消除列表中的重复项?

class infoContact
{ 



    private string contacts_first_nameField;

    private string contacts_middle_nameField;

    private string contacts_last_nameField;        

    private Phonenumber[] phone_numbersField;

    private Emailaddress[] emailField;
}
Run Code Online (Sandbox Code Playgroud)

我有一个List<infoContact>列表包含我从其他程序得到的近7000.在7000个列表中,6500个是重复的.我正在寻找一种如何消除重复的方法.

如果first_name,last_name,emailaddresses,电话号码相同,则infoContact是重复的.

我想过使用HashSet<infoContact>和覆盖infoContact的getHashCode().

我很想知道这是否是最好的方法.如果这不是一个好方法,那么更好的方法是什么?

.net c# linq hash

0
推荐指数
1
解决办法
258
查看次数