Tutorial by Topics

The process of overload resolution is described in the C# specification, section 7.5.3. Also relevant are the sections 7.5.2 (type inference) and 7.6.5 (invocation expressions). How overload resolution works will probably be changed in C# 7. The design notes indicate that Microsoft will roll out ...
The Format methods are a set of overloads in the System.String class used to create strings that combine objects into specific string representations. This information can be applied to String.Format, various WriteLine methods as well as other methods in the .NET framework. string.Format(strin...
The nameof operator allows you to get the name of a variable, type or member in string form without hard-coding it as a literal. The operation is evaluated at compile-time, which means that you can rename a referenced identifier, using an IDE's rename feature, and the name string will update with i...
In order to be able to use the unsafe keyword in a .Net project, you must check "Allow unsafe code" in Project Properties => Build Using unsafe code can improve performance, however, it is at the expense of code safety (hence the term unsafe). For instance, when you use a for lo...
When deciding on how to create a property, start with an auto-implemented property for simplicity and brevity. Switch to a property with a backing field only when circumstances dictate. If you need other manipulations beyond a simple set and get, you may need to introduce a backing field.
The Java programming language is... General-purpose: It is designed to be used for writing software in a wide variety of application domains, and lacks specialized features for any specific domain. Class-based: Its object structure is defined in classes. Class instances always have those...
If you want to learn more about the Android Gradle Plugin setting check out the android-gradle Documentation. If you are interested in alternative emulators, you could look at Genymotion. It provides a free plan and requires smaller amount of RAM. VersionAPI LevelVersion CodeRelease Date1.01B...
Inheritance is a basic object oriented feature in which one class acquires and extends upon the properties of another class, using the keyword extends. For Interfaces and the keyword implements, see interfaces. class ClassB extends ClassA {...} class ClassB implements InterfaceA {...} interf...
A Stream represents a sequence of elements and supports different kind of operations to perform computations upon those elements. With Java 8, Collection interface has two methods to generate a Stream: stream() and parallelStream(). Stream operations are either intermediate or terminal. Intermediate...
Objects of type Throwable and its subtypes can be sent up the stack with the throw keyword and caught with try…catch statements. void someMethod() throws SomeException { } //method declaration, forces method callers to catch if SomeException is a checked exception type try { someMethod();...
The collections framework in java.util provides a number of generic classes for sets of data with functionality that can't be provided by regular arrays. Collections framework contains interfaces for Collection<O>, with main sub-interfaces List<O> and Set<O>, and mapping collectio...
Lambda expressions provide a clear and concise way of implementing a single-method interface using an expression. They allow you to reduce the amount of code you have to create and maintain. While similar to anonymous classes, they have no type information by themselves. Type inference needs to happ...
Generics are a facility of generic programming that extend Java's type system to allow a type or method to operate on objects of various types while providing compile-time type safety. In particular, the Java collections framework supports generics to specify the type of objects stored in a collecti...
Java I/O (Input and Output) is used to process the input and produce the output. Java uses the concept of stream to make I/O operation fast. The java.io package contains all the classes required for input and output operations. Handling files is also done in java by Java I/O API.
A layout defines the visual structure for a user interface, such as an activity or widget. A layout is declared in XML, including screen elements that will appear in it. Code can be added to the application to modify the state of screen objects at runtime, including those declared in XML. and...
Gradle is a JVM-based build system that enables developers to write high-level scripts that can be used to automate the process of compilation and application production. It is a flexible plugin-based system, which allows you to automate various aspects of the build process; including compiling and ...
The NavigationView represents a standard navigation menu for application. The menu contents can be populated by a menu resource file. Before using the NavigationView you must add the design support library dependency in the build.gradle file: dependencies { compile 'com.android.support:de...
Arrays allow for the storage and retrieval of an arbitrary quantity of values. They are analogous to vectors in mathematics. Arrays of arrays are analogous to matrices, and act as multidimensional arrays. Arrays can store any data of any type: primitives such as int or reference types such as Object...

Page 4 of 428