From 2e0459b9c6b43dea1a5205a0a2413c4533acb4ae Mon Sep 17 00:00:00 2001 From: Peter Veentjer Date: Fri, 22 Aug 2025 08:49:43 +0300 Subject: [PATCH] Replaced empty array creation by Array.Empty to prevent creating any objects when not needed. Fixes the following issue: https://github.com/aeron-io/simple-binary-encoding/issues/1079 --- .../co/real_logic/sbe/generation/csharp/CSharpGenerator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java index b6fd5d7746..a5dc0b2354 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java @@ -1141,7 +1141,7 @@ private CharSequence generateArrayProperty( generateDocumentation(indent, fieldToken), typeName, propName, offset, generateArrayFieldNotPresentCondition(fieldToken.version(), - indent + INDENT + INDENT, "new " + typeName + "[0]"), + indent + INDENT + INDENT, "System.Array.Empty<" + typeName + ">()"), accessOrderListenerCallDoubleIndent)); sb.append(String.format("\n" + @@ -1155,7 +1155,7 @@ private CharSequence generateArrayProperty( generateDocumentation(indent, fieldToken), typeName, propName, offset, generateArrayFieldNotPresentCondition(fieldToken.version(), - indent + INDENT + INDENT, "new " + typeName + "[0]"), + indent + INDENT + INDENT, "System.Array.Empty<" + typeName + ">()"), accessOrderListenerCall)); if (typeToken.encoding().primitiveType() == PrimitiveType.CHAR)