﻿# V3203\. Method parameter is not used\.

The analyzer has detected a potential error: one or several method parameters are not used\.

Look at the example:

```cpp
private List<uint> TranslateNgramHashesToIndexes(Language language, ....)
{
  ....
  //var offset = (uint)Data.LanguageOffset[language];
  ....
  if (Data.SubwordHashToIndex.TryGetValue(hashes[i]/* + offset*/, 
  out int index))
  ....
  else if (....)
  {
    ....
    Data.SubwordHashToIndex.Add(hashes[i]/* + offset*/, index);
  }
  ....
}
```

The 'language' parameter is used only in the commented code\. In this case, make sure the code is commented on purpose and not accidentally left that way after debugging\.

Here is another example:

```cpp
private void DoConnect(EndPoint address)
{
  ReportConnectFailure(() =>
  {
    _channel = DatagramChannel.Open();
    _channel.ConfigureBlocking(false);
    var socket = _channel.Socket;
    ....
    channel.Connect(_connect.RemoteAddress);
  });
}
```

In this example, the single 'address' parameter is not used\. Using the method may lead to confusion\. In the worst case, the method implementation can contain an error\.

If the parameter is obsolete, mark the method with the 'Obsolete' attribute\. If the parameter is not used for a different reason, it is [recommended](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0060#overview) to name it in the following format: '\_', '\_1', '\_2', etc\.