'Kullanma' direktifleri ad alan─▒n─▒n i├žinde mi yoksa d─▒┼č─▒nda m─▒ olmal─▒?


Al─▒nan cevaba git


StyleCop'u baz─▒ C # kodlar─▒ ├╝zerinde ├žal─▒┼čt─▒r─▒yorum ve using direktiflerimin isim alan─▒ i├žinde olmas─▒ gerekti─čini rapor ediyor .

using Y├Ânergeleri ad alan─▒n─▒n d─▒┼č─▒na koymak yerine teknik bir sebep var m─▒ ?


1948









Cevap say─▒s─▒n─▒ say: 11






─░kisi aras─▒nda (ince) bir fark var asl─▒nda. A┼ča─č─▒daki kod File1.cs i├žinde bulundu─čunu d├╝┼č├╝n├╝n:

 // File1.cs
using System;
namespace Outer.Inner
{
    class Foo
    {
        static void Bar()
        {
            double d = Math.PI;
        }
    }
}
 

┼×imdi, birinin buna benzeyen projeye ba┼čka bir dosya (File2.cs) ekledi─čini hayal edin:

 // File2.cs
namespace Outer
{
    class Math
    {
    }
}
 

Derleyici aramalar Outer olanlar bakarak ├Ânce using isim alan─▒ d─▒┼č─▒ndan direktifleri, bu y├╝zden buldu─ču Outer.Math yerine System.Math . Ne yaz─▒k ki (veya belki de neyse ki?), ├ťyesi Outer.Math yok PI , bu nedenle File1 art─▒k bozuk.

Bu using , ad alan─▒ bildirinizi i├žine koyarsan─▒z a┼ča─č─▒daki gibi de─či┼čir :

 // File1b.cs
namespace Outer.Inner
{
    using System;
    class Foo
    {
        static void Bar()
        {
            double d = Math.PI;
        }
    }
}
 

┼×imdi derleyici System aramadan ├Ânce arar Outer , bulur System.Math ve her ┼čey yolundad─▒r.

Baz─▒lar─▒ bunun Math zaten bir tane oldu─čundan, kullan─▒c─▒ tan─▒ml─▒ bir s─▒n─▒f i├žin k├Ât├╝ bir isim olabilece─čini savunuyor System ; nokta burada orada sadece budur oldu─čunu fark ve bu senin kod ya┼čat─▒labilirlik etkiler.

Bunun yerine Foo , ad alan─▒nda olup bitti─čini not etmek de ilgin├žtir . Bu durumda, Dosya2'ye ekleme , nereye gitti─činden ba─č─▒ms─▒z olarak Dosya1'i keser . Bu, derleyicinin herhangi bir y├Ânergeye bakmadan ├Ânce en i├žteki ├ževreleyen ad alan─▒n─▒ arad─▒─č─▒ anlam─▒na gelir . Outer Outer.Inner Outer.Math using using


2024







Bu konunun zaten baz─▒ harika cevaplar─▒ var, ancak bu ek cevapla biraz daha ayr─▒nt─▒l─▒ bilgi verebilece─čimi hissediyorum.

─░lk olarak, a┼ča─č─▒daki gibi d├Ânemlerle bir ad alan─▒ bildiriminin:

 namespace MyCorp.TheProduct.SomeModule.Utilities
{
    ...
}
 

tamamen e┼čde─čerdir:

 namespace MyCorp
{
    namespace TheProduct
    {
        namespace SomeModule
        {
            namespace Utilities
            {
                ...
            }
        }
    }
}
 

─░sterseniz using , t├╝m bu seviyelere direktifler koyabilirsiniz . (Tabii ki, using sadece bir yerde olmak istiyoruz , ancak dile g├Âre yasal olur.)

: Hangi tip ima ├ž├Âz├╝lmesi i├žin kural, gev┼ček b├Âyle ifade edilebilir hi├žbir ┼čey bu kadar bir sonraki kapsama bir d├╝zey d─▒┼čar─▒ ├ž─▒kmak ve orada arama orada bulunan ve e─čer Birincisi, ma├ž i├žin i├ž-en "kapsam" arama , bir e┼čle┼čme bulunana kadar. Bir seviyede birden fazla e┼čle┼čme bulunursa, t├╝rlerden biri ge├žerli derlemeden ise, bunu se├žin ve bir derleyici uyar─▒s─▒ verin. Aksi takdirde, pes (derleme zaman─▒ hatas─▒).

┼×imdi, bunun iki ana s├Âzle┼čmeyle somut bir ├Ârnekte ne anlama geldi─či konusunda a├ž─▒k olal─▒m.

(1) D─▒┼čar─▒da yap─▒lan kullan─▒mlarla:

 using System;
using System.Collections.Generic;
using System.Linq;
//using MyCorp.TheProduct;  <-- uncommenting this would change nothing
using MyCorp.TheProduct.OtherModule;
using MyCorp.TheProduct.OtherModule.Integration;
using ThirdParty;

namespace MyCorp.TheProduct.SomeModule.Utilities
{
    class C
    {
        Ambiguous a;
    }
}
 

Yukar─▒daki durumda, ne t├╝r Ambiguous oldu─čunu bulmak i├žin arama ┼ču s─▒raya g├Âre yap─▒l─▒r:

  1. ─░├ž i├že i├ž i├že ge├žme t├╝rleri C (miras al─▒nan i├ž i├že ge├žme t├╝rleri dahil)
  2. Ge├žerli ad alan─▒ndaki t├╝rler MyCorp.TheProduct.SomeModule.Utilities
  3. Ad alan─▒ndaki t├╝rler MyCorp.TheProduct.SomeModule
  4. T├╝rleri MyCorp.TheProduct
  5. T├╝rleri MyCorp
  6. Bo┼č ad alan─▒ndaki t├╝rler (genel ad alan─▒)
  7. T├╝rleri i├žinde System , System.Collections.Generic , System.Linq , MyCorp.TheProduct.OtherModule , MyCorp.TheProduct.OtherModule.Integration , ve ThirdParty

Di─čer kongre:

(2) i├žinde usings ile:

 namespace MyCorp.TheProduct.SomeModule.Utilities
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using MyCorp.TheProduct;                           // MyCorp can be left out; this using is NOT redundant
    using MyCorp.TheProduct.OtherModule;               // MyCorp.TheProduct can be left out
    using MyCorp.TheProduct.OtherModule.Integration;   // MyCorp.TheProduct can be left out
    using ThirdParty;

    class C
    {
        Ambiguous a;
    }
}
 

┼×imdi, t├╝r arama Ambiguous ┼ču s─▒rayla gider:

  1. ─░├ž i├že i├ž i├že ge├žme t├╝rleri C (miras al─▒nan i├ž i├že ge├žme t├╝rleri dahil)
  2. Ge├žerli ad alan─▒ndaki t├╝rler MyCorp.TheProduct.SomeModule.Utilities
  3. T├╝rleri i├žinde System , System.Collections.Generic , System.Linq , MyCorp.TheProduct , MyCorp.TheProduct.OtherModule , MyCorp.TheProduct.OtherModule.Integration , ve ThirdParty
  4. Ad alan─▒ndaki t├╝rler MyCorp.TheProduct.SomeModule
  5. T├╝rleri MyCorp
  6. Bo┼č ad alan─▒ndaki t├╝rler (genel ad alan─▒)

(Bunun MyCorp.TheProduct "3" ├╝n bir par├žas─▒ oldu─čunu ve bu nedenle "4" ve "5" aras─▒nda gerekli olmad─▒─č─▒na dikkat edin.)

son s├Âzler

Kullan─▒c─▒lar─▒ ad alan─▒ bildirgesinin i├žine ya da d─▒┼č─▒na koyarsan─▒z, her zaman birinin daha y├╝ksek ├Ânceli─če sahip olan ad alanlar─▒ndan birine ayn─▒ ada sahip yeni bir t├╝r eklemesi olas─▒l─▒─č─▒ vard─▒r.

Ayr─▒ca, i├ž i├že ge├žmi┼č bir ad alan─▒ t├╝rle ayn─▒ ada sahipse, sorunlara neden olabilir.

Arama hiyerar┼čisi de─či┼čti─či i├žin ba┼čkalar─▒ bir konumdan di─čerine ta┼č─▒mak her zaman tehlikelidir, ba┼čka bir t├╝r bulunabilir. Bu nedenle, bir kongre se├žip buna ba─čl─▒ kal, b├Âylece bizi hi├ž kullanmayacaks─▒n.

Visual Studio'nun ┼čablonlar─▒, varsay─▒lan olarak, kullanmalar─▒ ad alan─▒n─▒n d─▒┼č─▒na yerle┼čtirir (├Ârne─čin , VS'yi yeni bir dosyada yeni bir s─▒n─▒f olu┼čturursan─▒z).

D─▒┼čar─▒da kullanman─▒n bir (k├╝├ž├╝k) avantaj─▒, ├Ârne─čin [assembly: ComVisible(false)] bunun yerine global bir nitelik i├žin kullan─▒m direktiflerini kullanabilmenizdir [assembly: System.Runtime.InteropServices.ComVisible(false)] .


425







Ad alanlar─▒n─▒n i├žine yerle┼čtirmek, bildirimleri dosya i├žin o ad alan─▒nda yerel yapar (dosyada birden fazla ad alan─▒ varsa), ancak dosya ba┼č─▒na yaln─▒zca bir ad alan─▒n─▒z varsa, d─▒┼čar─▒ ├ž─▒k─▒p ├ž─▒kmamalar─▒ b├╝y├╝k bir fark yaratmaz. ad alan─▒n─▒n i├žinde.

 using ThisNamespace.IsImported.InAllNamespaces.Here;

namespace Namespace1
{ 
   using ThisNamespace.IsImported.InNamespace1.AndNamespace2;

   namespace Namespace2
   { 
      using ThisNamespace.IsImported.InJustNamespace2;
   }       
}

namespace Namespace3
{ 
   using ThisNamespace.IsImported.InJustNamespace3;
}
 

190







Hanselman'a g├Âre - Y├Ânerge ve Meclis Y├╝klemesini Kullanma ... ve bu t├╝r di─čer makaleler teknik olarak farketmez.

Tercihim, onlar─▒ ad alanlar─▒n─▒n d─▒┼č─▒na koymak.


63







StyleCop Dok├╝mantasyonuna g├Âre:

SA1200: Kullan─▒m─▒DirectivesMustBePlacedWithinNamespace

Neden AC # direktifini kullanarak bir ad alan─▒ ├Â─česinin d─▒┼č─▒na yerle┼čtirilir.

Kural A├ž─▒klama Bu kural─▒n ihlali, dosya herhangi bir ad alan─▒ ├Â─česi i├žermedik├že, bir kullan─▒m y├Ânergesi veya bir kullan─▒m di─čerinin y├Ânergesi bir ad alan─▒ ├Â─česinin d─▒┼č─▒na yerle┼čtirildi─činde ortaya ├ž─▒kar.

├ľrne─čin, a┼ča─č─▒daki kod bu kural─▒n iki ihlaline neden olur.

 using System;
using Guid = System.Guid;

namespace Microsoft.Sample
{
    public class Program
    {
    }
}
 

Ancak a┼ča─č─▒daki kod bu kural─▒n ihlal edilmesine yol a├žmaz:

 namespace Microsoft.Sample
{
    using System;
    using Guid = System.Guid;

    public class Program
    {
    }
}
 

Bu kod derleyici hatalar─▒ olmadan temiz bir ┼čekilde derlenir. Ancak, Guid t├╝r├╝n├╝n hangi s├╝r├╝m├╝n├╝n tahsis edildi─či belli de─čil. E─čer kullanma y├Ânergesi a┼ča─č─▒da g├Âsterildi─či gibi isim alan─▒n─▒n i├žine ta┼č─▒n─▒rsa, bir derleyici hatas─▒ ortaya ├ž─▒kacakt─▒r:

 namespace Microsoft.Sample
{
    using Guid = System.Guid;
    public class Guid
    {
        public Guid(string s)
        {
        }
    }

    public class Program
    {
        public static void Main(string[] args)
        {
            Guid g = new Guid("hello");
        }
    }
}
 

Kod, i├žeren sat─▒rda bulunan a┼ča─č─▒daki derleyici hatas─▒yla ba┼čar─▒s─▒z oluyor Guid g = new Guid("hello");

CS0576: 'Microsoft.Sample' ad alan─▒, 'Guid' takma ad─▒yla ├žak─▒┼čan bir tan─▒m i├žeriyor

Kod, Guid adl─▒ System.Guid t├╝r├╝ne bir di─čer ad olu┼čturur ve ayn─▒ zamanda e┼čle┼čen bir yap─▒c─▒ arabirimiyle Guid adl─▒ kendi t├╝r├╝n├╝ olu┼čturur. Daha sonra, kod Guid t├╝r├╝n├╝n bir ├Ârne─čini olu┼čturur. Bu ├Ârne─či olu┼čturmak i├žin, derleyicinin Guid'in iki farkl─▒ tan─▒m─▒ aras─▒ndan se├žim yapmas─▒ gerekir. Using-alias y├Ânergesi ad alan─▒ ├Â─česinin d─▒┼č─▒na yerle┼čtirildi─činde, derleyici, yerel ad alan─▒nda tan─▒mlanm─▒┼č olan yerel Guid tan─▒m─▒n─▒ se├žecek ve ad alan─▒n─▒n d─▒┼č─▒nda tan─▒mlanan alias kullan─▒m direktifini tamamen g├Âz ard─▒ edecektir. Bu ne yaz─▒k ki kodu okurken belli de─čil.

Using alias y├Ânergesi ad alan─▒ i├žine yerle┼čtirildi─činde, derleyicinin her ikisi de ayn─▒ ad alan─▒nda tan─▒mlanm─▒┼č iki farkl─▒, ├žak─▒┼čan K─▒lavuz t├╝r├╝ aras─▒ndan se├žim yapmas─▒ gerekir. Bu t├╝rlerin her ikisi de e┼čle┼čen bir yap─▒c─▒ sa─člar. Derleyici karar veremiyor, bu y├╝zden derleyici hatas─▒n─▒ i┼čaretliyor.

Takma ad direktifini ad alan─▒n─▒n d─▒┼č─▒na yerle┼čtirmek k├Ât├╝ bir uygulamad─▒r, ├ž├╝nk├╝ bu gibi durumlarda, t├╝r├╝n hangi s├╝r├╝m├╝n├╝n kullan─▒lmakta oldu─ču a├ž─▒k de─čildir. Bu potansiyel olarak te┼čhis edilmesi zor olabilecek bir hataya yol a├žabilir.

Use-alias direktiflerini ad alan─▒ ├Â─česinin i├žine yerle┼čtirmek, bunu bir hata kayna─č─▒ olarak ortadan kald─▒r─▒r.

  1. Birden ├žok ad alan─▒

Birden ├žok ad alan─▒ ├Â─česini tek bir dosyaya yerle┼čtirmek genellikle k├Ât├╝ bir fikirdir, ancak ve bu yap─▒ld─▒─č─▒nda, y├Ânergeleri kullanarak t├╝m y├Ânergeleri, dosyan─▒n her yerine, genel olarak her ad alan─▒ ├Â─česinin i├žine yerle┼čtirmek iyi bir fikirdir. Bu, ad alanlar─▒n─▒ s─▒k─▒ca kapsayacak ve yukar─▒da a├ž─▒klanan davran─▒┼člardan ka├ž─▒nmaya da yard─▒mc─▒ olacakt─▒r.

Kodun, ad alan─▒n─▒n d─▒┼č─▒na yerle┼čtirilen y├Ânergeleri kullanarak yazarken, kodun anlam─▒n─▒ de─či┼čtirmemesini sa─člamak i├žin bu y├Ânergeleri ad alan─▒na ta┼č─▒rken dikkatli olunmas─▒ ├Ânemlidir. Yukar─▒da a├ž─▒kland─▒─č─▒ gibi, alias kullanma y├Ânergelerinin ad alan─▒ ├Â─česinin i├žine yerle┼čtirilmesi, derleyicinin, y├Ânergeler ad alan─▒n─▒n d─▒┼č─▒na yerle┼čtirildi─činde olu┼čmayacak ┼čekillerde ├žak─▒┼čan t├╝rler aras─▒nda se├žim yapmas─▒na olanak tan─▒r.

─░hlalleri D├╝zeltme Bu kural─▒n ihlalini d├╝zeltmek i├žin, t├╝m y├Ânergeleri ve ad alan─▒ ├Â─česinde using alias komutlar─▒n─▒ kullan─▒n.


47







Takma ad kullanmak istedi─činizde, ad alan─▒n─▒ ifadeler kullanarak yerle┼čtirmekle ilgili bir sorun var. Takma ad ├Ânceki using ifadelerden yararlanamaz ve tam olarak nitelenmelidir.

D├╝┼č├╝nmek:

 namespace MyNamespace
{
    using System;
    using MyAlias = System.DateTime;

    class MyClass
    {
    }
}
 

e kar┼č─▒:

 using System;

namespace MyNamespace
{
    using MyAlias = DateTime;

    class MyClass
    {
    }
}
 

A┼ča─č─▒dakiler gibi uzun soluklu bir takma ad─▒n─▒z varsa, bu ├Âzellikle telaffuz edilebilir (bu ┼čekilde sorunu buldum):

 using MyAlias = Tuple<Expression<Func<DateTime, object>>, Expression<Func<TimeSpan, object>>>;
 

Ad using alan─▒ndaki ifadelerle aniden:

 using MyAlias = System.Tuple<System.Linq.Expressions.Expression<System.Func<System.DateTime, object>>, System.Linq.Expressions.Expression<System.Func<System.TimeSpan, object>>>;
 

G├╝zel de─čil.


34


2012-10-10





Kar┼č─▒la┼čt─▒─č─▒m bir k─▒r─▒┼č─▒kl─▒k (di─čer cevaplarda kapsanmayan):

Bu ad alanlar─▒n─▒n oldu─čunu varsayal─▒m:

  • Ba┼čka bir ┼čey
  • Parent.Something.Other

Kulland─▒─č─▒n─▒zda using Something.Other d─▒┼č─▒nda a namespace Parent , ilki (Something.Other) ifade eder.

Ancak , bu isim alan─▒ bildirgesinin i├žinde kullan─▒rsan─▒z, ikincisini ifade eder (Parent.Something.Other)!

Basit bir ├ž├Âz├╝m var: " global:: " ├Âneki ekle : docs

 namespace Parent
{
   using global::Something.Other;
   // etc
}
 

4







Jeppe Stig Nielsen'in dedi─či gibi , bu konunun zaten harika cevaplar─▒ var, ama bu olduk├ža a├ž─▒k bir incelikten bahsetmeye de─čece─čini d├╝┼č├╝nd├╝m.

using Ad alanlar─▒nda belirtilen y├Ânergeler daha k─▒sa kodlar olu┼čturabilir, ├ž├╝nk├╝ d─▒┼čar─▒da belirtildi─či gibi tam olarak kalifiye olmalar─▒ gerekmez.

A┼ča─č─▒daki ├Ârnek ├žal─▒┼č─▒r, ├ž├╝nk├╝ t├╝rler Foo ve Bar her ikisi de ayn─▒ genel ad alan─▒ndad─▒r Outer ,.

Foo.cs kod dosyas─▒n─▒ kabul edin :

 namespace Outer.Inner
{
    class Foo { }
}
 

Ve Bar.cs :

 namespace Outer
{
    using Outer.Inner;

    class Bar
    {
        public Foo foo;
    }
}
 

using K─▒saca , d─▒┼č ad alan─▒n─▒ direktifte ├ž─▒kartabilir:

 namespace Outer
{
    using Inner;

    class Bar
    {
        public Foo foo;
    }
}
 

3







Teknik sebepler cevaplarda tart─▒┼č─▒l─▒yor ve sonu├žta ki┼čisel tercihlere geldi─čine inan─▒yorum, ├ž├╝nk├╝ fark ├žok b├╝y├╝k de─čil ve her ikisi i├žin de farkl─▒l─▒klar var. Visual Studio'nun .cs dosya olu┼čturmak i├žin varsay─▒lan ┼čablonu using ad alanlar─▒ d─▒┼č─▒ndaki y├Ânergeleri kullan─▒r ;

Proje parametresinin k├Âk dizinine dosya using ekleyerek, isim alan─▒ d─▒┼č─▒ndaki direktifleri kontrol etmek i├žin stylecop'i d├╝zenleyebilirsiniz stylecop.json :

 {
  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
    "orderingRules": {
      "usingDirectivesPlacement": "outsideNamespace"
    }
  }
}
 

Bu yap─▒land─▒rma dosyas─▒n─▒ ├ž├Âz├╝m d├╝zeyinde olu┼čturabilir ve yap─▒land─▒rmay─▒ t├╝m projelerinizde payla┼čmak i├žin projelerinize 'Mevcut Ba─člant─▒ Dosyas─▒' olarak ekleyebilirsiniz.


1


2018-06-03





Di─čer cevaplar taraf─▒ndan ele al─▒nd─▒─č─▒na inanmad─▒─č─▒m bir ba┼čka incelik, ayn─▒ ada sahip bir s─▒n─▒f ve ad alan─▒na sahip oldu─čunuz i├žindir.

Ad alan─▒nda i├že aktarma yapt─▒─č─▒n─▒zda, s─▒n─▒f─▒ bulur. ─░├že aktarma ad alan─▒n─▒n d─▒┼č─▒ndaysa, i├že aktarma dikkate al─▒nmaz ve s─▒n─▒f ile ad alan─▒n─▒n tamamen nitelendirilmesi gerekir.

 //file1.cs
namespace Foo
{
    class Foo
    {
    }
}

//file2.cs
namespace ConsoleApp3
{
    using Foo;
    class Program
    {
        static void Main(string[] args)
        {
            //This will allow you to use the class
            Foo test = new Foo();
        }
    }
}

//file2.cs
using Foo; //Unused and redundant    
namespace Bar
{
    class Bar
    {
        Bar()
        {
            Foo.Foo test = new Foo.Foo();
            Foo test = new Foo(); //will give you an error that a namespace is being used like a class.
        }
    }
}
 

1







Bu e─čer daha iyi bir uygulamad─▒r varsay─▒lan yani "se├žene─čini kullanarak referanslar─▒ ad ve olanlar─▒ d─▒┼č─▒nda olmal─▒d─▒r kaynak ├ž├Âz├╝m├╝nde kullan─▒lan" "Yeni eklenen referans" iyi bir uygulama size ad i├žine koymal─▒y─▒z olmas─▒d─▒r. Bu, hangi referanslar─▒n eklendi─čini ay─▒rt etmektir.


-8



─░lgili yay─▒nlar


Olp <p> i├žinde veya d─▒┼č─▒nda olmal─▒ m─▒?

Bir d├Âng├╝n├╝n i├žinde veya d─▒┼č─▒nda de─či┼čkenleri bildirme

Denemeli miÔÇŽ yakalamak bir d├Âng├╝n├╝n i├žine mi yoksa d─▒┼č─▒na m─▒?

HTML5'te, ana gezinme <header> ├Â─česinin i├žinde mi yoksa d─▒┼č─▒nda m─▒ olmal─▒d─▒r?

Bir iade ifadesi kilidin i├žinde mi yoksa d─▒┼č─▒nda m─▒ olmal─▒d─▒r?

Aray├╝z ve s─▒n─▒f aras─▒ndaki fark nedir ve y├Ântemleri s─▒n─▒fta do─črudan uygulayabildi─čimde neden bir aray├╝z kullanmal─▒y─▒m?

C++ 'ta C ba┼čl─▒klar─▒n─▒ kullan─▒rken, std ::' den ya da global isim alan─▒ndan fonksiyonlar─▒ kullanmal─▒ m─▒y─▒z?

Bir foreach d├Âng├╝s├╝ i├žinde veya d─▒┼č─▒nda bir de─či┼čken bildirmek: hangisi daha h─▒zl─▒ / daha iyi?

S─▒n─▒f i├žinde veya d─▒┼č─▒nda fonksiyon bildirimi

G├╝venli olmayan bir d├Âng├╝ i├žinde veya d─▒┼č─▒nda kullanmak i├žin herhangi bir fark yarat─▒r m─▒?

Etiketle ilgili di─čer sorular [c#]


JavaScriptÔÇÖde ondal─▒k say─▒lar─▒ do─črula - IsNumeric ()

Bir JavaScript nesnesine nas─▒l bir anahtar / de─čer ├žifti ekleyebilirim?

Metin / giri┼č kutular─▒n─▒n etraf─▒ndaki odak kenarl─▒─č─▒ (anahat) nas─▒l kald─▒r─▒l─▒r? (Chrome) [yinelenen]

NSStrings birle┼čtirmek i├žin Objective-C k─▒sayollar─▒

D├╝z ─░ngilizce olarak Monad? (FP arka plan─▒ olmayan OOP programc─▒s─▒ i├žin)

Bir geri alma y├Ântemi 'null' d├Ând├╝rmeli mi, yoksa d├Ân├╝┼č de─čerini ├╝retemedi─činde bir istisna atmal─▒ m─▒? [kapal─▒]

location.host vs location.hostname ve ├žapraz taray─▒c─▒ uyumlulu─ču?

Bu C i┼člevi her zaman yanl─▒┼č d├Ând├╝rmeli, ancak de─či┼čmiyor

JQuery'de ad ├Âzelli─čine sahip bir ├Â─čeyi nas─▒l se├žerim? [├žift]

Yabanc─▒ anahtar NULL olabilir ve / veya kopyalanabilir mi?