Предположим, если я должен сделать три объекта для класса балансира, в чем разница между созданием объекта как этотЕсть ли увеличение производительности при использовании Indexer для объектов?
flyweight f1=new flyweight();
flyweight f2=new flyweight();
flyweight f3=new flyweight();
и как это?
public class flyweight
{
flyweight[] obj = new flyweight[3];
public flyweight this[int index]
{
get{
if (index < 3) {
obj[index] = new flyweight();
}
return obj[index];
}
}
public void display() {
Console.WriteLine("this is a object");
}
public void load() {
flyweight f = new flyweight();
for (int i = 0; i < 3; i++) {
f[i].display();
}
}
}
Есть ли увеличение производительности при использовании Indexer для создания объектов?
Пожалуйста, не цитируйте фрагменты текста, которые на самом деле не цитируются, например, ваш вопрос в конце. Я также настоятельно рекомендую вам начать следовать соглашениям об именах .NET. –
Это очень странный код, поскольку мухи обычно неизменны - в то время как вы используете мухи как завод для других мухолов, что совершенно необычно. –
Два куска кода имеют разные вещи, но общее правило - писать понятный понятный код и задавать цели производительности. Затем, как только код четко выполнит правильную вещь (невозможно определить, действительно ли какой-либо из ваших образцов кода работает с тех пор, как мы не знаем спецификацию), * измерьте * производительность. Только если это не соответствует целям, вы должны начать оценивать альтернативы. –