This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git

commit a80ef58ab17acdeb60f34a84ff0cd29ff51a2242
Author: colprog <[email protected]>
AuthorDate: Sat Dec 17 06:21:06 2022 +0800

    Minor optimization
---
 csharp/rocketmq-client-csharp/Client.cs        | 18 ++++++------------
 csharp/rocketmq-client-csharp/ClientConfig.cs  | 12 ++----------
 csharp/rocketmq-client-csharp/ClientManager.cs |  8 ++++----
 3 files changed, 12 insertions(+), 26 deletions(-)

diff --git a/csharp/rocketmq-client-csharp/Client.cs 
b/csharp/rocketmq-client-csharp/Client.cs
index bd9fdef1..bcd6b21f 100644
--- a/csharp/rocketmq-client-csharp/Client.cs
+++ b/csharp/rocketmq-client-csharp/Client.cs
@@ -227,10 +227,10 @@ namespace Org.Apache.Rocketmq
         protected async Task<TopicRouteData> GetRouteFor(string topic, bool 
direct)
         {
             Logger.Debug($"Get route for topic={topic}, direct={direct}");
-            if (!direct && _topicRouteTable.ContainsKey(topic))
+            if (!direct && _topicRouteTable.TryGetValue(topic, out var 
routeData))
             {
                 Logger.Debug($"Return cached route for {topic}");
-                return _topicRouteTable[topic];
+                return routeData;
             }
 
             // We got one or more name servers available.
@@ -243,13 +243,10 @@ namespace Org.Apache.Rocketmq
                 },
                 Endpoints = new rmq::Endpoints
                 {
-                    Scheme = AccessPointScheme
+                    Scheme = AccessPointScheme,
+                    Addresses = { AccessPointEndpoints },
                 }
             };
-            foreach (var address in AccessPointEndpoints)
-            {
-                request.Endpoints.Addresses.Add(address);
-            }
 
             var metadata = new grpc.Metadata();
             Signature.Sign(this, metadata);
@@ -337,14 +334,11 @@ namespace Org.Apache.Rocketmq
                 },
                 Endpoints = new rmq::Endpoints
                 {
-                    Scheme = AccessPointScheme
+                    Scheme = AccessPointScheme,
+                    Addresses = { AccessPointEndpoints },
                 }
             };
             
-            foreach (var endpoint in AccessPointEndpoints)
-            {
-                request.Endpoints.Addresses.Add(endpoint);
-            }
             try
             {
                 var metadata = new grpc::Metadata();
diff --git a/csharp/rocketmq-client-csharp/ClientConfig.cs 
b/csharp/rocketmq-client-csharp/ClientConfig.cs
index bdba0284..beca1067 100644
--- a/csharp/rocketmq-client-csharp/ClientConfig.cs
+++ b/csharp/rocketmq-client-csharp/ClientConfig.cs
@@ -149,21 +149,13 @@ namespace Org.Apache.Rocketmq
         {
             get
             {
-                List<rmq::Address> addresses = new List<rmq::Address>();
-                foreach (var item in access_point_.Addresses)
-                {
-                    addresses.Add(item);
-                }
-                return addresses;
+                return new List<rmq::Address>(access_point_.Addresses);
             }
 
             set
             {
                 access_point_.Addresses.Clear();
-                foreach (var item in value)
-                {
-                    access_point_.Addresses.Add(item);
-                }
+                access_point_.Addresses.AddRange(value);
             }
         }
 
diff --git a/csharp/rocketmq-client-csharp/ClientManager.cs 
b/csharp/rocketmq-client-csharp/ClientManager.cs
index e3bda5d2..64955b76 100644
--- a/csharp/rocketmq-client-csharp/ClientManager.cs
+++ b/csharp/rocketmq-client-csharp/ClientManager.cs
@@ -44,9 +44,9 @@ namespace Org.Apache.Rocketmq
             try
             {
                 // client exists, return in advance.
-                if (_rpcClients.ContainsKey(target))
+                if (_rpcClients.TryGetValue(target, out var cachedClient))
                 {
-                    return _rpcClients[target];
+                    return cachedClient;
                 }
             }
             finally
@@ -58,9 +58,9 @@ namespace Org.Apache.Rocketmq
             try
             {
                 // client exists, return in advance.
-                if (_rpcClients.ContainsKey(target))
+                if (_rpcClients.TryGetValue(target, out var cachedClient))
                 {
-                    return _rpcClients[target];
+                    return cachedClient;
                 }
 
                 // client does not exist, generate a new one

Reply via email to