|
7 | 7 | using System;
|
8 | 8 | using System.Diagnostics.CodeAnalysis;
|
9 | 9 | using System.Collections.Generic;
|
| 10 | +using System.Globalization; |
10 | 11 | using Elastic.Clients.Elasticsearch.Serialization;
|
11 | 12 |
|
12 | 13 | namespace Elastic.Clients.Elasticsearch;
|
@@ -246,37 +247,18 @@ internal bool TryGetComposite([NotNullWhen(returnValue: true)] out object? value
|
246 | 247 | return true;
|
247 | 248 | }
|
248 | 249 |
|
249 |
| - public override string ToString() |
250 |
| - { |
251 |
| - if (Kind == ValueKind.String) |
252 |
| - { |
253 |
| - return Value as string; |
254 |
| - } |
255 |
| - else if (Kind == ValueKind.Double) |
256 |
| - { |
257 |
| - return ((double)Value).ToString(); |
258 |
| - } |
259 |
| - else if (Kind == ValueKind.Long) |
260 |
| - { |
261 |
| - return ((long)Value).ToString(); |
262 |
| - } |
263 |
| - else if (Kind == ValueKind.Boolean) |
264 |
| - { |
265 |
| - return ((bool)Value).ToString(); |
266 |
| - } |
267 |
| - else if (Kind == ValueKind.Null) |
268 |
| - { |
269 |
| - return "null"; |
270 |
| - } |
271 |
| - else if (Kind == ValueKind.LazyDocument || Kind == ValueKind.Composite) |
272 |
| - { |
273 |
| - throw new InvalidOperationException("Composite field value cannot be formatted as a string."); |
274 |
| - } |
275 |
| - else |
| 250 | + public override string ToString() => |
| 251 | + Kind switch |
276 | 252 | {
|
277 |
| - throw new InvalidOperationException($"Unknown kind '{Kind}'"); |
278 |
| - } |
279 |
| - } |
| 253 | + ValueKind.Null => "null", |
| 254 | + ValueKind.Double => ((double)Value).ToString(CultureInfo.InvariantCulture), |
| 255 | + ValueKind.Long => ((long)Value).ToString(CultureInfo.InvariantCulture), |
| 256 | + ValueKind.Boolean => ((bool)Value).ToString(CultureInfo.InvariantCulture), |
| 257 | + ValueKind.String => Value as string, |
| 258 | + ValueKind.LazyDocument or ValueKind.Composite => throw new InvalidOperationException( |
| 259 | + "Composite field value cannot be formatted as a string."), |
| 260 | + _ => throw new InvalidOperationException($"Unknown kind '{Kind}'") |
| 261 | + }; |
280 | 262 |
|
281 | 263 | public override bool Equals(object? obj) => obj is FieldValue value && Equals(value);
|
282 | 264 | public bool Equals(FieldValue other) => Kind == other.Kind && EqualityComparer<object?>.Default.Equals(Value, other.Value);
|
|
0 commit comments