Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@MadsTorgersen, @dcampbell
stackoverflow.com/insights/survey/2017#most-popular-technologies
stackoverflow.com/insights/survey/2017#most-loved-dreaded-and-wanted
F#
10,000’s
Tens of thousands
VB
100,000’s
Hundreds of thousands
C#
1,000,000’s
Millions
F#
10,000’s
Tens of thousands
VB
100,000’s
Hundreds of thousands
C#
1,000,000’s
Millions
F#
10,000’s
Tens of thousands
VB
100,000’s
Hundreds of thousands
C#
1,000,000’s
Millions
F#
10,000’s
Tens of thousands
VB
100,000’s
Hundreds of thousands
C#
1,000,000’s
Millions
Demos!
More demos!
IAsyncEnumerable<Person> people = database.GetPeopleAsync();
foreach await (var p in people) { … }
using await (IAsyncDisp...
extension Enrollee extends Person
{
// static field
static Dictionary<Person, Professor> enrollees = new Dictionary<Person...
class Person : IEquatable<Person>
{
public string First { get; }
public string Last { get; }
public Person(string First, s...
@roslyn @dcampbell @MadsTorgersen
Build 2017 - B8104 - The Future of C#
Build 2017 - B8104 - The Future of C#
Build 2017 - B8104 - The Future of C#
Upcoming SlideShare
Loading in …5
×

of

Build 2017 - B8104 - The Future of C# Slide 1 Build 2017 - B8104 - The Future of C# Slide 2 Build 2017 - B8104 - The Future of C# Slide 3 Build 2017 - B8104 - The Future of C# Slide 4 Build 2017 - B8104 - The Future of C# Slide 5 Build 2017 - B8104 - The Future of C# Slide 6 Build 2017 - B8104 - The Future of C# Slide 7 Build 2017 - B8104 - The Future of C# Slide 8 Build 2017 - B8104 - The Future of C# Slide 9 Build 2017 - B8104 - The Future of C# Slide 10 Build 2017 - B8104 - The Future of C# Slide 11 Build 2017 - B8104 - The Future of C# Slide 12 Build 2017 - B8104 - The Future of C# Slide 13 Build 2017 - B8104 - The Future of C# Slide 14 Build 2017 - B8104 - The Future of C# Slide 15
Upcoming SlideShare
The Microsoft Compiler Platform (Roslyn). A quick overview.
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Build 2017 - B8104 - The Future of C#

Download to read offline

We’re back! With C# 7.0 and Visual Studio 2017 just recently shipped, we paint the big picture: let’s lay out where the C# language and tooling experience is headed, and show early glimpses of what we’re currently working on.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Build 2017 - B8104 - The Future of C#

  1. 1. @MadsTorgersen, @dcampbell
  2. 2. stackoverflow.com/insights/survey/2017#most-popular-technologies
  3. 3. stackoverflow.com/insights/survey/2017#most-loved-dreaded-and-wanted
  4. 4. F# 10,000’s Tens of thousands VB 100,000’s Hundreds of thousands C# 1,000,000’s Millions
  5. 5. F# 10,000’s Tens of thousands VB 100,000’s Hundreds of thousands C# 1,000,000’s Millions
  6. 6. F# 10,000’s Tens of thousands VB 100,000’s Hundreds of thousands C# 1,000,000’s Millions
  7. 7. F# 10,000’s Tens of thousands VB 100,000’s Hundreds of thousands C# 1,000,000’s Millions
  8. 8. Demos! More demos!
  9. 9. IAsyncEnumerable<Person> people = database.GetPeopleAsync(); foreach await (var p in people) { … } using await (IAsyncDisposable resource = await store.GetRecordAsync(…)) { … }
  10. 10. extension Enrollee extends Person { // static field static Dictionary<Person, Professor> enrollees = new Dictionary<Person, Professor>(); // instance method public void Enroll(Professor supervisor) { enrollees[this] = supervisor; } // instance property public Professor Supervisor => enrollees.TryGetValue(this, out var supervisor) ? supervisor : null; // static property public static ICollection<Person> Students => enrollees.Keys; // instance constructor public Person(string name, Professor supervisor) : this(name) { this.Enroll(supervisor); } }
  11. 11. class Person : IEquatable<Person> { public string First { get; } public string Last { get; } public Person(string First, string Last) => (this.First, this.Last) = (First, Last); public void Deconstruct(out string First, out string Last) => (First, Last) = (this.First, this.Last); public bool Equals(Person other) => other != null && First == other.First && Last == other.Last; public override bool Equals(object obj) => obj is Person other ? Equals(other) : false; public override int GetHashCode() => GreatHashFunction(First, Last); … } class Person(string First, string Last);
  12. 12. @roslyn @dcampbell @MadsTorgersen

We’re back! With C# 7.0 and Visual Studio 2017 just recently shipped, we paint the big picture: let’s lay out where the C# language and tooling experience is headed, and show early glimpses of what we’re currently working on.

Views

Total views

1,474

On Slideshare

0

From embeds

0

Number of embeds

220

Actions

Downloads

13

Shares

0

Comments

0

Likes

0

×