SORU
3 Mart 2010, ÇARŞAMBA


Bir kullanarak içinde dönen herhangi bir yan etkisi() var deyim?

Bir yöntem değeri döndürülüyoriçindebir DataContext alır kullanarak bir cümle her zaman iş gibi görünüyorgüzelbu: gibi

public static Transaction GetMostRecentTransaction(int singleId)
{
    using (var db = new DataClasses1DataContext())
    {
        var transaction = (from t in db.Transactions
                              orderby t.WhenCreated descending
                              where t.Id == singleId
                              select t).SingleOrDefault();
        return transaction;
    }
}

Ama ben olmam gerekir diye düşünmüşümdürkapanış bir şeyönce işlem tanımlayarak kullanarak parantez, örneğin patlarımöncekullanma deyimi, değeri olsuniçindeparantez, ve daha sonra geri dönensonraparantez.

Ve daha iyi bir uygulama ya da herhangi bir şekilde tasarruf edilmesi kullanarak parantez dışında değişken tanımlama dönen istiyorsunuz?

CEVAP
3 Mart 2010, ÇARŞAMBA


Hayır, daha net bu şekilde olduğunu düşünüyorum. Merak etme, Dispose hala adı verilecek "çıkış yolu" - ve teksonradönüş değeri tam olarak değerlendirilir. Eğer herhangi bir noktada özel durum (dönüş değeri değerlendirmek dahil) atılır Dispose hala çok çağrılacaktır.

Kesinlikleolabiliruzun yoldan, sadece işe yaramayan öğeleri eklemek fazladan iki satır ve (zihinsel) izlemek için ekstra içerik. Aslında, gerçekten hata ayıklama açısından kullanışlı olabilir, ancak ekstra yerel değişken olman gerekmiyor. Sanaolabilirsadece:

public static Transaction GetMostRecentTransaction(int singleId)
{
    using (var db = new DataClasses1DataContext())
    {
        return (from t in db.Transactions
                orderby t.WhenCreated descending
                where t.Id == singleId
                select t).SingleOrDefault();
    }
}

Gerçekten de, hatta nokta işaretini kullanmak için cazip olabilir, ve SingleOrDefault içinde: Where koşul koymak

public static Transaction GetMostRecentTransaction(int singleId)
{
    using (var db = new DataClasses1DataContext())
    {
        return db.Transactions.OrderByDescending(t => t.WhenCreated)
                              .SingleOrDefault(t => t.Id == singleId);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010