foreach vs someList.ForEach(){}

There is one important, and useful, distinction between the two. Because .ForEach uses a for loop to iterate the collection, this is valid (edit: prior to .net 4.5 – the implementation changed and they both throw): someList.ForEach(x => { if(x.RemoveMe) someList.Remove(x); }); whereas foreach uses an enumerator, so this is not valid: foreach(var item in … Read more

Methods inside enum in C#

You can write extension methods for enum types: enum Stuff { Thing1, Thing2 } static class StuffMethods { public static String GetString(this Stuff s1) { switch (s1) { case Stuff.Thing1: return “Yeah!”; case Stuff.Thing2: return “Okay!”; default: return “What?!”; } } } class Program { static void Main(string[] args) { Stuff thing = Stuff.Thing1; String … Read more

Case objects vs Enumerations in Scala

One big difference is that Enumerations come with support for instantiating them from some name String. For example: object Currency extends Enumeration { val GBP = Value(“GBP”) val EUR = Value(“EUR”) //etc. } Then you can do: val ccy = Currency.withName(“EUR”) This is useful when wishing to persist enumerations (for example, to a database) or … Read more

for each loop in Objective-C for accessing NSMutable dictionary

for (NSString* key in xyz) { id value = xyz[key]; // do stuff } This works for every class that conforms to the NSFastEnumeration protocol (available on 10.5+ and iOS), though NSDictionary is one of the few collections which lets you enumerate keys instead of values. I suggest you read about fast enumeration in the … Read more

How do I iterate over an NSArray?

The generally-preferred code for 10.5+/iOS. for (id object in array) { // do something with object } This construct is used to enumerate objects in a collection which conforms to the NSFastEnumeration protocol. This approach has a speed advantage because it stores pointers to several objects (obtained via a single method call) in a buffer … Read more

C# loop – break vs. continue

break will exit the loop completely, continue will just skip the current iteration. For example: for (int i = 0; i < 10; i++) { if (i == 0) { break; } DoSomeThingWith(i); } The break will cause the loop to exit on the first iteration – DoSomeThingWith will never be executed. This here: for … Read more

Enumerations on PHP

Depending upon use case, I would normally use something simple like the following: abstract class DaysOfWeek { const Sunday = 0; const Monday = 1; // etc. } $today = DaysOfWeek::Sunday; However, other use cases may require more validation of constants and values. Based on the comments below about reflection, and a few other notes, … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)