{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/36","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/36/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/36/events","html_url":"https://github.com/dotnet/roslyn/issues/36","id":54766173,"number":36,"title":"Allow support for params IEnumerable<T> methods","user":{"login":"mburbea","id":213233,"avatar_url":"https://avatars.githubusercontent.com/u/213233?v=3","gravatar_id":"","url":"https://api.github.com/users/mburbea","html_url":"https://github.com/mburbea","followers_url":"https://api.github.com/users/mburbea/followers","following_url":"https://api.github.com/users/mburbea/following{/other_user}","gists_url":"https://api.github.com/users/mburbea/gists{/gist_id}","starred_url":"https://api.github.com/users/mburbea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mburbea/subscriptions","organizations_url":"https://api.github.com/users/mburbea/orgs","repos_url":"https://api.github.com/users/mburbea/repos","events_url":"https://api.github.com/users/mburbea/events{/privacy}","received_events_url":"https://api.github.com/users/mburbea/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-01-19T13:53:21Z","updated_at":"2015-01-19T15:52:28Z","closed_at":null,"body":"Currently, C# only supports `params T[]`, however it is rare that I actually need an array for my method. More often than not, I merely want iteration or to perform some sort of LINQ operators against the parameter. In fact, it is common for libraries to declare a version of the method that takes an IEnumerable<T> and a T[], and have the T[] version call the IEnumerable<T> variant. \r\n\r\nThe implementation detail could still be that an array is made at the call site and sent to the method, the benefit is to simply avoid having to create the extra overload."},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/70515487","html_url":"https://github.com/dotnet/roslyn/issues/36#issuecomment-70515487","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/36","id":70515487,"user":{"login":"sharwell","id":1408396,"avatar_url":"https://avatars.githubusercontent.com/u/1408396?v=3","gravatar_id":"","url":"https://api.github.com/users/sharwell","html_url":"https://github.com/sharwell","followers_url":"https://api.github.com/users/sharwell/followers","following_url":"https://api.github.com/users/sharwell/following{/other_user}","gists_url":"https://api.github.com/users/sharwell/gists{/gist_id}","starred_url":"https://api.github.com/users/sharwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharwell/subscriptions","organizations_url":"https://api.github.com/users/sharwell/orgs","repos_url":"https://api.github.com/users/sharwell/repos","events_url":"https://api.github.com/users/sharwell/events{/privacy}","received_events_url":"https://api.github.com/users/sharwell/received_events","type":"User","site_admin":false},"created_at":"2015-01-19T15:52:28Z","updated_at":"2015-01-19T15:52:28Z","body":"I actually see your concern as a separate issue from `params IEnumerable<T>`. This topic (`IEnumerable<T>`) is about exposing a convenient method for simplified APIs, where memory allocation characteristics are often (but not always) much less of a concern."}}