C Sharp (Programming Language)
C Sharp (Programming Language)
C Sharp (Programming Language)
2 History
Design goals
James Gosling, who created the Java programming language in 1994, and Bill Joy, a co-founder of Sun Microsystems, the originator of Java, called C# an imitation of Java; Gosling further said that "[C# is]
sort of Java with reliability, productivity and security
deleted.[14][15] Klaus Kreft and Angelika Langer (authors of a C++ streams book) stated in a blog post
that Java and C# are almost identical programming
languages. Boring repetition that lacks innovation,[16]
Hardly anybody will claim that Java or C# are revolutionary programming languages that changed the way we
write programs, and C# borrowed a lot from Java - and
vice versa. Now that C# supports boxing and unboxing,
we'll have a very similar feature in Java.[17] In July 2000,
Anders Hejlsberg said that C# is not a Java clone and is
much closer to C++" in its design.[18]
2.2 Versions
Name
2.3.1 C# 2.0
Generics[34]
Partial types[34]
Anonymous methods[34]
Iterators[34]
Nullable types[34]
Getter/setter separate accessibility[34]
Method group conversions (delegates)[34]
Co- and Contra-variance for delegates[34]
Static classes[34]
Delegate inference[34]
HISTORY
Extension methods[35]
Query expressions[35]
Lambda expressions[35]
Expression trees[35]
Partial methods[36]
3
2.3.3
3 Syntax
C# 4.0
Dynamic binding[37]
[37]
[37]
C# 5.0[38]
Asynchronous methods[39]
Caller info attributes[39]
2.3.5
Curly brackets are used to group statements. Statements are commonly grouped into methods (functions), methods into classes, and classes into
namespaces.
Variables are assigned using an equals sign, but compared using two consecutive equals signs.
C# 6.0
Compiler-as-a-service (Roslyn)
Import of static type members into namespace[40]
Exception lters[40]
Await in catch/nally blocks[40]
4 Distinguishing features
[40]
4.1 Portability
Type switch
4.2 Typing
Ref Returns
Tuples
Out var
Pattern Matching
Arbitrary async returns
Records
4 DISTINGUISHING FEATURES
to bool, allowing a to be an int, or a pointer. C# disallows this integer meaning true or false approach, on the
grounds that forcing programmers to use expressions that
return exactly bool can prevent certain types of programming mistakes such as if (a = b) (use of assignment =
instead of equality ==, which while not an error in C or
C++, will be caught by the compiler anyway).
C# is more type safe than C++. The only implicit conversions by default are those that are considered safe, such as
widening of integers. This is enforced at compile-time,
during JIT, and, in some cases, at runtime. No implicit
conversions occur between Booleans and integers, nor between enumeration members and integers (except for literal 0, which can be implicitly converted to any enumerated type). Any user-dened conversion must be explicitly marked as explicit or implicit, unlike C++ copy constructors and conversion operators, which are both implicit by default.
4.5 Property
C# provides properties as syntactic sugar for a common
pattern in which a pair of methods, accessor (getter)
and mutator (setter) encapsulate operations on a single
attribute of a class. No redundant method signatures for
the getter/setter implementations need be written, and the
property may be accessed using attribute syntax rather
than more verbose method calls.
4.3
Meta programming
Meta programming via C# attributes is part of the language. Many of these attributes duplicate the functionality of GCCs and VisualC++'s platform-dependent preprocessor directives.
4.4
Memory access
Exception
C# has support for strongly-typed function pointers via Checked exceptions are not present in C# (in contrast to
the keyword delegate. Like the Qt frameworks pseudo- Java). This has been a conscious decision based on the
C++ signal and slot, C# has semantics specically sur- issues of scalability and versionability.[43]
5.2
4.9
Polymorphism
Unlike C++, C# does not support multiple inheritance, although a class can implement any number of interfaces.
This was a design decision by the languages lead architect to avoid complication and simplify architectural requirements throughout CLI. When implementing multiple interfaces that contain a method with the same signature, C# allows implementing each method depending
on which interface that method is being called through,
or, like Java, allows implementing the method once, and
have that be the one invocation on a call through any of
the classs interfaces.
However, unlike Java, C# supports operator overloading.
Only the most commonly overloaded operators in C++
may be overloaded in C#.
5
an explicit default (parameterless) constructor. Examples of value types are all primitive types, such as int
(a signed 32-bit integer), oat (a 32-bit IEEE oatingpoint number), char (a 16-bit Unicode code unit), and
System.DateTime (identies a specic point in time with
nanosecond precision). Other examples are enum (enumerations) and struct (user dened structures).
In contrast, reference types have the notion of referential
identity - each instance of a reference type is inherently
distinct from every other instance, even if the data within
both instances is the same. This is reected in default
equality and inequality comparisons for reference types,
which test for referential rather than structural equality,
unless the corresponding operators are overloaded (such
as the case for System.String). In general, it is not always
possible to create an instance of a reference type, nor to
copy an existing instance, or perform a value comparison on two existing instances, though specic reference
types can provide such services by exposing a public constructor or implementing a corresponding interface (such
as ICloneable or IComparable). Examples of reference
types are object (the ultimate base class for all other C#
classes), System.String (a string of Unicode characters),
and System.Array (a base class for all C# arrays).
5.1
Example:
int foo = 42; // Value type. object bar = foo; // foo is
boxed to bar. int foo2 = (int)bar; // Unboxed back to
value type.
1. Reference types
2. Value types
Instances of value types do not have referential identity
nor referential comparison semantics - equality and inequality comparisons for value types compare the actual
data values within the instances, unless the corresponding operators are overloaded. Value types are derived
from System.ValueType, always have a default value, and
can always be created and copied. Some other limitations on value types are that they cannot derive from each
other (but can implement interfaces) and cannot have
6 Libraries
The C# specication details a minimum set of types and
class libraries that the compiler expects to have available.
In practice, C# is most often used with some implementation of the Common Language Infrastructure (CLI),
which is standardized as ECMA-335 Common Language
Infrastructure (CLI).
Examples
IMPLEMENTATIONS
A GUI example:
Above is a class denition. Everything between the fol- The C# language denition and the CLI are standardized
lowing pair of braces describes Program.
under ISO and Ecma standards that provide reasonable
and non-discriminatory licensing protection from patent
static void Main(string[] args)
claims.
This declares the class member method where the program begins execution. The .NET runtime calls the Main
method. (Note: Main may also be called from elsewhere,
like any other method, e.g. from another method of Program.) The static keyword makes the method accessible without an instance of Program. Each console applications Main entry point must be declared static. Otherwise, the program would require an instance, but any
instance would require a program. To avoid that irresolvable circular dependency, C# compilers processing
console applications (like that above) report an error, if
there is no static Main method. The void keyword declares that Main has no return value.
Console.WriteLine(Hello, world!");
This line writes the output. Console is a static class in the
System namespace. It provides an interface to the standard input, output, and error streams for console applications. The program calls the Console method WriteLine,
which displays on the console a line with the argument,
the string Hello, world!".
9 Implementations
The reference C# compiler is Microsoft Visual C#, which
is open-source.[51]
Microsoft is leading the development of a new opensource C# compiler and set of tools, previously code-
7
named "Roslyn". The compiler, which is entirely written
in managed code (C#), has been opened up and functionality surfaced as APIs. It is thus enabling developers to
create refactoring and diagnostics tools.
Other C# compilers exist, often including an implementation of the Common Language Infrastructure and the
.NET class libraries up to .NET 2.0:
The Mono project provides an open-source C# compiler, a complete open-source implementation of the
Common Language Infrastructure including the required framework libraries as they appear in the
ECMA specication, and a nearly complete implementation of the Microsoft proprietary .NET class
libraries up to .NET 3.5. As of Mono 2.6, no plans
exist to implement WPF; WF is planned for a later
release; and there are only partial implementations
of LINQ to SQL and WCF.[52]
The DotGNU project (now discontinued) also provided an open-source C# compiler, a nearly complete implementation of the Common Language Infrastructure including the required framework libraries as they appear in the ECMA specication,
and subset of some of the remaining Microsoft proprietary .NET class libraries up to .NET 2.0 (those
not documented or included in the ECMA specication, but included in Microsofts standard .NET
Framework distribution).
Microsofts Rotor project (currently called Shared
Source Common Language Infrastructure) (licensed
for educational and research use only) provides a
shared source implementation of the CLR runtime
and a C# compiler, and a subset of the required
Common Language Infrastructure framework libraries in the ECMA specication (up to C# 2.0,
and supported on Windows XP only).
10
See also
11
Notes
12 References
[1] Torgersen, Mads (October 27, 2008). New features in
C# 4.0. Microsoft. Retrieved October 28, 2008.
[2] Naugler, David (May 2007). C# 2.0 for C++ and Java
programmer: conference workshop. Journal of Computing Sciences in Colleges. 22 (5). Although C# has been
strongly inuenced by Java it has also been strongly inuenced by C++ and is best viewed as a descendant of both
C++ and Java.
[3] Hamilton, Naomi (October 1, 2008). The A-Z of Programming Languages: C#". Computerworld. Retrieved
February 12, 2010. We all stand on the shoulders of giants here and every language builds on what went before it
so we owe a lot to C, C++, Java, Delphi, all of these other
things that came before us. (Anders Hejlsberg)
[4] Chapel spec (Acknowlegements)" (PDF). Cray Inc.
2015-10-01. Retrieved 2016-01-14.
[5] Web Languages and VMs: Fast Code is Always in Fashion. (V8, Dart) - Google I/O 2013. Google. Retrieved
22 December 2013.
[6] Java 5.0 added several new language features (the
enhanced for loop, autoboxing, varargs and annotations),
after they were introduced in the similar (and competing)
C# language
[7] Cornelius, Barry (December 1, 2005). Java 5 catches
up with C#". University of Oxford Computing Services.
Retrieved June 18, 2014. In my opinion, it is C# that has
caused these radical changes to the Java language. (Barry
Cornelius)
[8] Lattner, Chris (2014-06-03). Chris Lattners Homepage. Chris Lattner. Retrieved 2014-06-03. The Swift
language is the product of tireless eort from a team of
language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help rene and
battle-test ideas. Of course, it also greatly beneted from
the experiences hard-won by many other languages in
the eld, drawing ideas from Objective-C, Rust, Haskell,
Ruby, Python, C#, CLU, and far too many others to list.
[9] C# Language Specication (PDF) (4th ed.). Ecma International. June 2006. Retrieved January 26, 2012.
[10] Lander, Rich (20 July 2015). Top 10 C# 6.0 Language
Features. .NET Blog. Microsoft.
[11] Zander, Jason (November 24, 2008). Couple of Historical Facts. Retrieved February 23, 2009.
[12] Guthrie, Scott (November 28, 2006). What language
was ASP.Net originally written in?". Retrieved February
21, 2008.
[13] Hamilton, Naomi (October 1, 2008). The A-Z of Programming Languages: C#". Computerworld. Retrieved
October 1, 2008.
[14] Wylie Wong (2002). Why Microsofts C# isn't. CNET:
CBS Interactive. Retrieved May 28, 2014.
12
REFERENCES
13
Further reading
14
External links
10
15
15
15.1
C Sharp (programming language) Source: https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?oldid=740670791 Contributors: Damian Yerrick, Brion VIBBER, Bryan Derksen, Zundark, WillWare, Andre Engels, SimonP, Ewlloyd, Hannes Hirzel, FvdP,
Rcingham, Hirzel, Mrwojo, Frecklefoot, Edward, Michael Hardy, DopeshJustin, Fuzzie, Ixfd64, Gaurav, Minesweeper, Dmb~enwiki,
Ahoerstemeier, Ronz, Julesd, Cgs, Poor Yorick, Susurrus, Scott, Wael Ellithy, Sunbeam60, Astudent, Rl, Harvester, Alf, Benno~enwiki,
Timwi, Dcoetzee, Nohat, RickK, Dysprosia, Jay, Jogloran, Markhurd, Furrykef, Itai, Wernher, Samsara, Bevo, AnonMoos, Mrje, AnthonyQBachler, Hajor, Noblethrasher, Robbot, Craig Stuntz, Fredrik, Jotomicron, RedWolf, Chocolateboy, Altenmann, Psychonaut, Lowellian, Chris Roy, Samrolken, Rursus, KellyCoinGuy, Wikibot, Vikreykja, Robartin, Cyrius, Dmn, Tea2min, Mlk, David Gerard, Enochlau,
Ancheta Wis, Somercet, Dbenbenn, Marc Weil, Haeleth, Holizz, BenFrantzDale, var Arnfjr Bjarmason, Brian Kendig, Zigger, Herbee, Asilidae, Anville, Curps, CyborgTosser, Jgritz, Adrenalin~enwiki, Ajgorhoe, Sdsher, Joe Sewell, Alexander.stohr, Malekith~enwiki,
Gilgamesh~enwiki, JF Bastien, SheldonYoung, Mboverload, Proslaes, AlistairMcMillan, Brandalone, Matt Crypto, Pne, Tagishsimon,
Reilly, Neilc, Utcursch, Jonathan Grynspan, Regin LARSEN~enwiki, Noe, Ablewisuk, Rdsmith4, OwenBlacker, Maximaximax, Elroch,
Zfr, Two Bananas, Boojum, Kutulu, JulieADriver, Urhixidur, Int19h, Jh51681, GreenReaper, Abdull, Trevor MacInnis, Onebit, Moxfyre, Canterbury Tail, Zaf, Corti, Mike Rosoft, Vesta~enwiki, Mernen, Mormegil, Freakofnurture, Imroy, Slady, Jim Henry, RossPatterson, Discospinster, ElTyrant, Rich Farmbrough, Habbit, Hydrox, Nma wiki, Andros 1337, Wrp103, Mecanismo, Deh, ArnoldReinhold, Carlosliu, Abelson, Byrial, Bender235, Djordjes, Danakil, Nabla, Jtatum, Aranel, MisterSheik, CanisRufus, *drew, Anphanax,
Zenohockey, Kwamikagami, Thetuvix, Vortex~enwiki, Root4(one), Euyyn, Bendono, Whirl, Bobo192, Nigelj, Circeus, Army1987, John
Vandenberg, BrokenSegue, Unquietwiki, Phansen, Yonkie, Huan086, Jojit fb, Nk, Microtony, Flammifer, FredOrAlive, Cherlin, Larryv, JesseHogan, Alexmitchell, Jumbuck, Mick8882003, Tobych, Guy Harris, CyberSkull, Diego Moya, Yamla, Ahruman, Kinghajj,
Echuck215, Kel-nage, Sligocki, Vliam, Caesura, Ronark, Mr700, Suruena, Tony Sidaway, Sciurin, DamonCarr, Pauli133, Drbreznjev, Panchurret, Forderud, Mahanga, Dienstag, Joelpt, PdDemeter, Woohookitty, Mindmatrix, Georgia guy, Justinlebar, Nuggetboy, Percy
Snoodle, Tripodics, Bkkbrad, Ruud Koot, Hdante, Bluemoose, GregorB, Hayvac, Toussaint, PeterJohnson, Mekong Bluesman, Kesla,
MassGalactusUniversum, Yoghurt, Graham87, Ronnotel, BD2412, Yurik, DePiep, Ketiltrout, Rjwilmsi, War, PHenry, Wiarthurhu, Salix
alba, MZMcBride, Gudeldar, Bubba73, Yar Kramer, Mikm, Syced, FayssalF, FlaBot, Ysangkok, Nihiltres, Crazycomputers, Mathiastck,
DuLithgow, Lmatt, Jphofmann, Chobot, Elpaw, Visor, Billpg, YurikBot, Wavelength, Adrianob, Angus Lepper, Splintercellguy, Hairy
Dude, StuOfInterest, Cyberherbalist, Hyad, Arado, Muchness, Me and, Bhny, Richjkl, Pi Delport, Dnch, IByte, CanadianCaesar, Rodasmith, JohnJSal, Debackerl, Bovineone, TheMandarin, NawlinWiki, Miguel.de.Icaza, Dialectric, Thalter, ZacBowling, Futurix, Thiseye,
Alawi, PlusMinus~enwiki, Wuser10, EverettColdwell, Matthew0028, Bashmohandes, Froth, Leotohill, Foofy, Samir, BOT-Superzerocool,
Wangi, DeadEyeArrow, Jeremy Visser, Programous, Scope creep, Wtijsma, Werdna, Limetom, Eurosong, Rbirkby, Lt-wiki-bot, Closedmouth, GraemeL, Levil, CWenger, Talyian, JLaTondre, Dhavalhirdhav, Spooksh, Vahid83, Chip Zero, Mebden, Carlosguitar, Msgo,
GrinBot~enwiki, Dan Atkinson, Elliskev, AndrewWTaylor, Ankurdave, SmackBot, MattieTK, Incnis Mrsi, Tobias Schmidbauer, InverseHypercube, Razielim, Vald, Yuyudevil, Fikus, Fitch, Zeycus, Renku, Mscuthbert, Eaglizard, CGameProgrammer, InvertedSaint, Timotheus Canens, David Fuchs, Commander Keane bot, Unforgettableid, Sloman, Gilliam, Ohnoitsjamie, Hmains, Oscarthecat, Cabe6403,
Gorman, Gene Thomas, Cush, Exitmoose, Sirex98, Thumperward, Jdh30, Adamralph, Krous~enwiki, Akanemoto, Nbarth, Aclwon,
DHN-bot~enwiki, MovGP0, Sbharris, Torzsmokus, Krallja, Fluggo~enwiki, Darth Panda, Tbm5982, Mrtrumbe, Doc0tis, Edene, Onorem,
Nixeagle, OSborn, Themeparkphoto, -Barry-, UU, Amazon10x, Cybercobra, Irish Soue, Trifon Triantallidis, alyosha, Dream out
loud, A.R., Warren, Henning Makholm, WhosAsking, Rspanton, Viking880, Acdx, Riurik, Nmnogueira, SashatoBot, Doug Bell, Derek
farn, Shirifan, Gobonobo, Disavian, Strainu, Soumyasch, JorisvS, Sundstrm, Minna Sora no Shita, IronGargoyle, IharBury, BlindWanderer, Loadmaster, Dave104, Yms, Xiphoris, Catphive, Wikidrone, PeterRitchie, Vonvon, Whomp, Jpbisguier, Kyellan, Inquisitus,
Super3boy~enwiki, Hu12, Stenaught, Chunawalla, Artejera, Talandor, Tawkerbot2, Dlohcierekim, EvilRobot69, Amniarix, FatalError,
Lnatan25, Dirty leo, Egeskov, JForget, FleetCommand, CRGreathouse, Amalas, Dycedarg, JRavn, Enselic, Mycplus, Grr, CuriousEric,
NickW557, Napi, Simeon, JamesNK, InnerLight, Cydebot, MC10, Mato, Gogo Dodo, Betenner, Mrstonky, OmerMor, Rhe br, Torc2,
Eneville, Wizard 01, TheMuuj, Hafthor, Omicronpersei8, Voronkov, Room101, Rocket000, Merutak, Thijs!bot, Gaijin42, Pajz, Calvinballing, Hervegirod, Rossmann, AlexanderM, RickinBaltimore, Mu11etBoy, Jsnover, Dugwiki, XTZGZoReX, Trlkly, DanSoper, EdJogg, SoftwareDeveloper, Hires an editor, Gioto, Seaphoto, Hexene, DennisWithem, Drake Wilson, Kprobst, Raylopez99, JAnDbot,
NBeale, Husond, MER-C, ElementoX~enwiki, QuantumEngineer, PhilKnight, DanPMK, Kerotan, Goldenglove, LittleOldMe, Yunipo,
VoABot II, Fuchsias, Rhwawn, UweHaupt~enwiki, Mike Payne, Pkrecker, Spellmaster, Maju wiki, Gwern, Oren0, HotXRock, 23e23e,
Mjworthey, Rettetast, Ravichandar84, Andreas Mueller, Keith D, Dcwills, Gemuetlich, Yessopie, Coder1024, RockMFR, J.delanoy,
Pharaoh of the Wizards, Zwmalone, PC78, BabaYama, Vanished user vnsihoiewriu45iojsi3, Christopher G Lewis, DarkFalls, Joniki, McSly, Michaelabril, DotnetCarpenter, RenniePet, Daniel5Ko, Mfb52, NewEnglandYankee, DJTekken, KylieTastic, Juliancolton, Hc5duke,
Channard, Bonadea, Jmcentire, WinterSpw, Kemall, Useight, Intentional, Wikieditor06, VolkovBot, Kyledmorgan, The Wild Falcon,
Mrh30, Nahush.dani, Je G., AlnoktaBOT, JustinHagstrom, Tburket, Maghnus, Lingwitt, TXiKiBoT, Zeroag, Comrade Graham, Xerxesnine, Win32Coder, Rei-bot, Potatoj316, Anonymous Dissident, Lukejea, Broadbot, Abdullais4u, Ziounclesi, Daverose 33, PDFbot,
Smithberry, Wtt, MichaelShoemaker, Billinghurst, BankingBum, Sandip.khakhar, Mormat, AlleborgoBot, EmxBot, Rob1n, S.rvarr.S,
Wjl2, SieBot, Gorpik, BotMultichill, Bachcell, Winchelsea, Yintan, Mothmolevna, Noahcoad, Jerryobject, PookeyMaster, Flyer22 Reborn, Timgurto, Allmightyduck, Aly89, ObserverToSee, Steveharoz, Moletrouser, Svick, AlanUS, Enfenion, Tesi1700, Superbatsh,
Markcrosbie, ChessKnught, Ledpup, Nacarlson, Martarius, ClueBot, Coldpeer, Artichoker, Helpsloose, Fyyer, The Thing That Should
Not Be, ElectricCube, Compynerd255, DragonBot, Mumiemonstret, TMV943, Jusdafax, Goodone121, Northernhenge, Emperordarius,
Monobi, Sun Creator, TobiasPersson, Jin76, Yes-minister, Jmichael ll, Sealican, Aitias, Onstar, Ronklein~enwiki, Johnuniq, DumZiBoT,
Darkicebot, AzraelUK, XLinkBot, BodhisattvaBot, Rror, Mitch Ames, Kotakkasut, Srujantheboss, SilvonenBot, Addbot, Raghavkvp,
Mortense, Ghettoblaster, CSharpProMaster, Landon1980, Captain-tucker, Btx40, Quasiphoton, Scientus, MrOllie, Download, Renaissance77, CarsracBot, ZealousCoder, 3HackBug77, Gail, Ricvelozo, Jarble, Ben Ben, Legobot, Yobot, Themfromspace, Kartano, Ptbotgourou, Vanished user rt41as76lk, Tiburondude, SplinterOfChaos, TestEditBot, AnomieBOT, Rubinbot, Jim1138, Wickorama, Piano non
troppo, Ashok modhvadia, Ipatrol, Jimmy541, MehrdadAfshari, Sonickidnextgen, Jrobinjapan, Materialscientist, CasperBraske, Citation
bot, Abbasigee007, Georgepowell2008, The Asian Guy, Xqbot, TinucherianBot II, Thoolihan, Nasnema, Dolst, Mvalero, CSharp Student, TechEditor2010, Nasa-verve, Emcpadden, Dunc0029, AnyPerson, Tabledhote, Niitloveguru, NoldorinElf, Gastonhillar, FrescoBot,
CSharpUniversity, Mitchell52541, OnionBulb, Sae1962, Outback the koala, Machine Elf 1735, Shubalubdub, Genesispc, Mpynnone,
,
Antilus~enwiki, Intelligentsium, NiruLaksh, Spidey104, Skoobiedu, Dr.shaikhfarooque, Rumplestilzken, Ioakar, RedBot, Roboo.jack, ,
MeUser42, Mrzeinali, Roboblob, Jujutacular, Mikrosam Akademija 8, Ehasis, Dac04,
, Efexd123, Efexd1234, Tim1357, Philipdaubmeier, 7654321chris, Dinamik-bot, Vrenator, VibroAxe, Armageddon11, Richardjdavies, Reaper Eternal, Mttcmbs, Genhuan, Van-
15.2
Images
11
ishedUser sdu9aya9fs787232, Tbhotch, Reach Out to the Truth, Christoph hausner, Onel5969, Lyoko2198, Sputtnikk11, TjBot, Wornsear,
Rampea, EmausBot, Rikivillalba, Dewritech, GoingBatty, Minimacs Clone, Wikipelli, Dcirovic, Bleakgady, AsceticRose, Ivostefanov,
Regression Tester, Kkm010, ZroBot, Bollyje, DustinForever, MrGerjo, CavalcadeOfWhimsy, H3llBot, Iriseufall, SporkBot, Makecat,
Elsheimy, Kweckzilber, Tolly4bolly, Rcsprinter123, MochaFlux, IGProgram, Ramya20, Cgillhoolley, Mister Mormon, Matthewdunsdon,
DASHBotAV, 28bot, Baseballonline12, Phyll Chloro, Cgt, Rtoal, ClueBot NG, SpikeTorontoRCP, Sgreeve, Matthiaspaul, Theadamgaskinss, PorridgeBambo, BlackTigerX, Muon, Gagan746, Masssly, Aaron.eshbach, Cj005257-public, Sheldonleecooper, MerlIwBot, Fredlopez, Sijovijayan, Helpful Pixie Bot, SteveLalancette, Satyaprakashmehta, Titodutta, BG19bot, Tiksn, Ewascent, Reusablesnail, Wiki13,
Elijah.B, Mirhagk, Devkoy, Boshomi, AbyCodes, Afree10, Danile42, Ecallow, Loriendrew, Ashleyjm, BattyBot, Bakkedal, PathogenDavid, Mcbkruse, StarryGrandma, 1234gogogo, Cyberbot II, Timothy Gu, ChrisGualtieri, Ekren, Abstractematics, TheBlazeCoder, Rezonansowy, Randomizer3, Majilis, RapIsDead, Thirupkt, G, Swetha Glitz, Ebookoine, Librazy, Numbermaniac, Yejianfei, Sachinatole, Frosty, Graphium, Chukxx, Pokajanje, Wywin, Xueyingyu, Reatlas, Binamonk, Javierdcarrillo, Quaydon, Voddan, Comp.arch,
, Melody Lavender, Werddemer, Tchanders, Softzen, OccultZone, NadavAsh, JaconaFrere, Baalan92, Theeditornational, Monkbot,
Yantime, Da phenom, Ryan117100, CandyJugz, Helarious101, RationalBlasphemist, Fleivium, Wagnerp16, DSchiavini, I8086, Pleasechooseanotherusername, STJMLCC, Bccfalna, Sizeont, Surblove, JSG6155,
, KasparBot, Charliebonneau, Srednuas Lenoroc,
Rrobotto, DaniyalMughal, Mshumail11, Pppery, BrandonJackTar, Ishachopra1, J6allen77, GrovesNL and Anonymous: 1213
15.2
Images
15.3
Content license