Skip to content

Update live with current master #6808

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 23 additions & 10 deletions docs/core/rid-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: .NET Core Runtime IDentifier (RID) catalog
description: Learn about the Runtime IDentifier (RID) and how RIDs are used in .NET Core.
author: mairaw
ms.author: mairaw
ms.date: 09/07/2017
ms.date: 07/19/2018
---
# .NET Core RID Catalog

Expand Down Expand Up @@ -116,22 +116,24 @@ See [Prerequisites for .NET Core on Windows](windows-prerequisites.md) for more
- Debian
- `debian-x64`
- `debian.8-x64`
- `debian.9-x64` (.NET Core 1.1 or later versions)
- Fedora
- `fedora-x64`
- `fedora.24-x64`
- `fedora.25-x64` (.NET Core 2.0 or later versions)
- `fedora.26-x64` (.NET Core 2.0 or later versions)
- `fedora.27-x64`
- `fedora.28-x64` (.NET Core 1.1 or later versions)
- Gentoo (.NET Core 2.0 or later versions)
- `gentoo-x64`
- openSUSE
- `opensuse-x64`
- `opensuse.42.1-x64`
- `opensuse.42.3-x64`
- Oracle Linux
- `ol-x64`
- `ol.7-x64`
- `ol.7.0-x64`
- `ol.7.1-x64`
- `ol.7.2-x64`
- `ol.7.3-x64`
- `ol.7.4-x64`
- Red Hat Enterprise Linux
- `rhel-x64`
- `rhel.6-x64` (.NET Core 2.0 or later versions)
Expand All @@ -142,21 +144,32 @@ See [Prerequisites for .NET Core on Windows](windows-prerequisites.md) for more
- `rhel.7.4-x64` (.NET Core 2.0 or later versions)
- Tizen (.NET Core 2.0 or later versions)
- `tizen`
- `tizen.4.0.0`
- `tizen.5.0.0`
- Ubuntu
- `ubuntu-x64`
- `ubuntu.14.04-x64`
- `ubuntu.14.10-x64`
- `ubuntu.15.04-x64`
- `ubuntu.15.10-x64`
- `ubuntu.16.04-x64`
- `ubuntu.16.10-x64`
- `ubuntu.17.10-x64`
- `ubuntu.18.04-x64`
- Ubuntu derivatives
- `linuxmint.17-x64`
- `linuxmint.17.1-x64`
- `linuxmint.17.2-x64`
- `linuxmint.17.3-x64`
- `linuxmint.18-x64`
- `linuxmint.18-x64` (.NET Core 2.0 or later versions)
- `linuxmint.18.1-x64` (.NET Core 2.0 or later versions)
- `linuxmint.18.2-x64` (.NET Core 2.0 or later versions)
- `linuxmint.18.3-x64` (.NET Core 2.0 or later versions)
- SUSE Enterprise Linux (SLES) (.NET Core 2.0 or later versions)
- `sles-x64`
- `sles.12-x64`
- `sles.12.1-x64`
- `sles.12.2-x64`
- `sles.12.3-x64`
- Alpine Linux (.NET Core 2.1 or later versions)
- `alpine-x64`
- `alpine.3.7-x64`

See [Prerequisites for .NET Core on Linux](linux-prerequisites.md) for more information.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ foreach(var p in productInfos){...}
select new {p.ProductName, Price = p.UnitPrice};
```

## Object initializers with nullable types
It is a compile-time error to use an object initializer with a nullable struct.

## Collection initializers
Collection initializers let you specify one or more element initializers when you initialize a collection type that implements <xref:System.Collections.IEnumerable> and has `Add` with the appropriate signature as an instance method or an extension method. The element initializers can be a simple value, an expression or an object initializer. By using a collection initializer you do not have to specify multiple calls to the `Add` method of the class in your source code; the compiler adds the calls.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ This example shows how to add, retrieve, update, and remove items from a <xref:S

<xref:System.Collections.Concurrent.ConcurrentDictionary%602> is designed for multithreaded scenarios. You do not have to use locks in your code to add or remove items from the collection. However, it is always possible for one thread to retrieve a value, and another thread to immediately update the collection by giving the same key a new value.

Also, although all methods of <xref:System.Collections.Concurrent.ConcurrentDictionary%602> are thread-safe, not all methods are atomic, specifically <xref:System.Collections.Concurrent.ConcurrentDictionary%602.GetOrAdd%2A> and <xref:System.Collections.Concurrent.ConcurrentDictionary%602.AddOrUpdate%2A>. The user delegate that is passed to these methods is invoked outside of the dictionary's internal lock. (This is done to prevent unknown code from blocking all threads.) Therefore it is possible for this sequence of events to occur:
Also, although all methods of <xref:System.Collections.Concurrent.ConcurrentDictionary%602> are thread-safe, not all methods are atomic, specifically <xref:System.Collections.Concurrent.ConcurrentDictionary%602.GetOrAdd%2A> and <xref:System.Collections.Concurrent.ConcurrentDictionary%602.AddOrUpdate%2A>. The user delegate that is passed to these methods is invoked outside of the dictionary's internal lock (this is done to prevent unknown code from blocking all threads). Therefore, it is possible for this sequence of events to occur:

1\) threadA calls <xref:System.Collections.Concurrent.ConcurrentDictionary%602.GetOrAdd%2A>, finds no item and creates a new item to Add by invoking the valueFactory delegate.

2\) threadB calls <xref:System.Collections.Concurrent.ConcurrentDictionary%602.GetOrAdd%2A> concurrently, its valueFactory delegate is invoked and it arrives at the internal lock before threadA, and so its new key-value pair is added to the dictionary.

3\) threadA's user delegate completes, and the thread arrives at the lock, but now sees that the item exists already
3\) threadA's user delegate completes, and the thread arrives at the lock, but now sees that the item exists already.

4\) threadA performs a "Get", and returns the data that was previously added by threadB.
4\) threadA performs a "Get" and returns the data that was previously added by threadB.

Therefore, it is not guaranteed that the data that is returned by <xref:System.Collections.Concurrent.ConcurrentDictionary%602.GetOrAdd%2A> is the same data that was created by the thread's valueFactory. A similar sequence of events can occur when <xref:System.Collections.Concurrent.ConcurrentDictionary%602.AddOrUpdate%2A> is called.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Contains types that are used by the <xref:System.Xml.Serialization.XmlSchemaImpo
```xml
<schemaImporterExtensions>
<!-- Add types -->
</SchemaImporterExtension>
</schemaImporterExtensions>
```

## Child Elements
Expand All @@ -41,7 +41,7 @@ Contains types that are used by the <xref:System.Xml.Serialization.XmlSchemaImpo
System.Web.Mobile, Version - 2.0.0.0, Culture = neutral,
PublicKeyToken = b03f5f6f11d40a3a" />
</schemaImporterExtensions>
/system.sxml.serializaiton>
</system.xml.serialization>
```

## See Also
Expand Down
14 changes: 7 additions & 7 deletions docs/visual-basic/language-reference/queries/aggregate-clause.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ Aggregate element [As type] In collection _

|Function|Description|
|---|---|
|`All`|Returns `true` if all elements in the collection satisfy a specified condition; otherwise returns `false`. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#5](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_1.vb)]|
|`Any`|Returns `true` if any element in the collection satisfies a specified condition; otherwise returns `false`. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#6](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_2.vb)]|
|`Average`|Computes the average of all elements in the collection, or a computes supplied expression for all elements in the collection. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#7](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_3.vb)]|
|`Count`|Counts the number of elements in the collection. You can supply an optional `Boolean` expression to count only the number of elements in the collection that satisfy a condition. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#8](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_4.vb)]|
|`All`|Returns `true` if all elements in the collection satisfy a specified condition; otherwise returns `false`. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#5](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_1.vb)]|
|`Any`|Returns `true` if any element in the collection satisfies a specified condition; otherwise returns `false`. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#6](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_2.vb)]|
|`Average`|Computes the average of all elements in the collection, or computes a supplied expression for all elements in the collection. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#7](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_3.vb)]|
|`Count`|Counts the number of elements in the collection. You can supply an optional `Boolean` expression to count only the number of elements in the collection that satisfy a condition. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#8](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_4.vb)]|
|`Group`|Refers to query results that are grouped as a result of a `Group By` or `Group Join` clause. The `Group` function is valid only in the `Into` clause of a `Group By` or `Group Join` clause. For more information and examples, see [Group By Clause](../../../visual-basic/language-reference/queries/group-by-clause.md) and [Group Join Clause](../../../visual-basic/language-reference/queries/group-join-clause.md).|
|`LongCount`|Counts the number of elements in the collection. You can supply an optional `Boolean` expression to count only the number of elements in the collection that satisfy a condition. Returns the result as a `Long`. For an example, see the `Count` aggregate function.|
|`Max`|Computes the maximum value from the collection, or computes a supplied expression for all elements in the collection. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#9](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_5.vb)]|
|`Min`|Computes the minimum value from the collection, or computes a supplied expression for all elements in the collection. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#10](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_6.vb)]|
|`Sum`|Computes the sum of all elements in the collection, or computes a supplied expression for all elements in the collection. Following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#15](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_7.vb)]|
|`Max`|Computes the maximum value from the collection, or computes a supplied expression for all elements in the collection. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#9](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_5.vb)]|
|`Min`|Computes the minimum value from the collection, or computes a supplied expression for all elements in the collection. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#10](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_6.vb)]|
|`Sum`|Computes the sum of all elements in the collection, or computes a supplied expression for all elements in the collection. The following is an example:<br /><br /> [!code-vb[VbSimpleQuerySamples#15](../../../visual-basic/language-reference/queries/codesnippet/VisualBasic/aggregate-clause_7.vb)]|

## Example
The following code example shows how to use the `Aggregate` clause to apply aggregate functions to a query result.
Expand Down
Loading