Ich habe eine Klasse:C#, wie Verfahren in einer Liste für jedes Element nennen <>
[DataContract]
public class InventoryItem : NotifyPropertyChangeObject
{
private Guid _inventoryItemUid;
private string _description;
private bool _isActive;
[DataMember]
public Guid InventoryItemUid {
get { return _inventoryItemUid; }
set { ApplyPropertyChange<InventoryItem, Guid>(ref _inventoryItemUid, o => o.InventoryItemUid, value); }
}
[DataMember]
public string Description {
get { return _description; }
set { ApplyPropertyChange<InventoryItem, String>(ref _description, o => o.Description, value); }
}
[DataMember]
public bool IsActive {
get { return _isActive; }
set { ApplyPropertyChange<InventoryItem, Boolean>(ref _isActive, o => o.IsActive, value); }
}
public void CustomMethod()
{
// here some code....
}
}
In meinem Anwendungscode ich ein List<InventoryItem>
:
List<Entities.InventoryItem> items = new List<Entities.InventoryItem>();
var newItem = new Entities.InventoryItem();
using (Logistics.Data.Warehouse svc = new Data.Warehouse())
{
items = svc.GetInventoryItems().ToList();
}
ich für jeden anrufen müssen Artikel in der List<InventoryItem>
die Methode CustomMethod()
.
Was ist der beste Weg, dies in Bezug auf die Leistung zu tun?
Ich weiß, ich kann ein foreach
tun, aber wenn ich 5.000 Zeilen bekommen dann vielleicht foreach
ist für die Leistung nicht gut. Eigentlich ist diese CustomMethod()
wie eine Initialisierungscode Sache.
Es gibt keine Möglichkeit, um eine Schleife zu verwenden –
Aber wenn Sie immer noch die Methode für jede Zeile aufrufen müssen, spielt es eine Rolle, ob Sie 5 Zeilen oder 5.000 haben? Vielleicht könntest du erklären, was die Methode ist (es sei denn, sie tut wirklich etwas in jeder Zeile, dann gibt es keinen Weg um sie herum). – master2080
Wenn es für jedes Element aufgerufen werden muss, warum nicht in Konstruktor setzen? – tomassino