{"id":22065831,"url":"https://github.com/karenpayneoregon/csharpworkingwithoutparamswithdata","last_synced_at":"2025-03-23T18:17:39.086Z","repository":{"id":110840432,"uuid":"142437921","full_name":"karenpayneoregon/CSharpWorkingWithOutParamsWithData","owner":"karenpayneoregon","description":"TechNet: C# 7 new methods for returning data with out parameters and ValueTuple source code","archived":false,"fork":false,"pushed_at":"2022-12-24T16:39:27.000Z","size":94,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T00:30:13.495Z","etag":null,"topics":["csharp"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karenpayneoregon.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-26T12:29:10.000Z","updated_at":"2024-06-11T18:40:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"ffa92628-77a2-4a60-a233-70db721c1201","html_url":"https://github.com/karenpayneoregon/CSharpWorkingWithOutParamsWithData","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FCSharpWorkingWithOutParamsWithData","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FCSharpWorkingWithOutParamsWithData/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FCSharpWorkingWithOutParamsWithData/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karenpayneoregon%2FCSharpWorkingWithOutParamsWithData/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karenpayneoregon","download_url":"https://codeload.github.com/karenpayneoregon/CSharpWorkingWithOutParamsWithData/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245144978,"owners_count":20568056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp"],"created_at":"2024-11-30T19:22:13.374Z","updated_at":"2025-03-23T18:17:39.059Z","avatar_url":"https://github.com/karenpayneoregon.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"left\"\u003e\n    \u003ca href=\"https://social.technet.microsoft.com/profile/kareninstructor/\"\u003e\n    \u003cimg alt=\"logo\" src=\"Assets/Karen.png\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\u003ca href=\"https://social.technet.microsoft.com/wiki/contents/articles/51741.c-7-new-methods-for-returning-data-with-out-parameters-and-valuetuple.aspx\"\u003eTechNet: C# 7 new methods for returning data with out parameters and ValueTuple\u003c/a\u003e\u003c/p\u003e\n\n\u003cp\u003eValueTuple\u003c/p\u003e\n\n```csharp\n\npublic async Task\u003c(bool Success, List\u003cCustomer\u003e Customers)\u003e GetSCustomersUsingTuplesAsync()\n{\n\tmHasException = false;\n\n    var results = await Task.Run(() =\u003e\n        {\n            mHasException = false;\n\n            var customersList = new List\u003cCustomer\u003e();\n\n            const string selectStatement =\n                \"SELECT cust.CustomerIdentifier,cust.CompanyName,cust.ContactName,ct.ContactTitle, \" +\n                \"cust.[Address] AS street,cust.City,ISNULL(cust.PostalCode,''),cust.Country,cust.Phone, \" +\n                \"cust.ContactTypeIdentifier FROM dbo.Customers AS cust \" +\n                \"INNER JOIN ContactType AS ct ON cust.ContactTypeIdentifier = ct.ContactTypeIdentifier;\";\n\n            using (var cn = new SqlConnection() { ConnectionString = ConnectionString })\n            {\n                using (var cmd = new SqlCommand() { Connection = cn, CommandText = selectStatement })\n                {\n                    try\n                    {\n                        cn.Open();\n                        var reader = cmd.ExecuteReader();\n                        while (reader.Read())\n                        {\n                            customersList.Add(new Customer()\n                            {\n                                CustomerIdentifier = reader.GetInt32(0),\n                                CompanyName = reader.GetString(1),\n                                ContactName = reader.GetString(2),\n                                ContactTitle = reader.GetString(3),\n                                Street = reader.GetString(4),\n                                City = reader.GetString(5),\n                                PostalCode = reader.GetString(6),\n                                Country = reader.GetString(7),\n                                Phone = reader.GetString(8)\n                            });\n                        }\n\n                            \n                    }\n                    catch (Exception e)\n                    {\n                        mHasException = true;\n                        mLastException = e;\n                    }\n                }\n            }\n\n            // IsSuccessFul equates to returning all data, no data or partial data\n            // customerList will contain, no customers, some customers, all customers\n            return (IsSuccessFul, customersList);\n\n        }).ConfigureAwait(false);\n\n    return results;\n}\n```\n\n\u003cp\u003eOut parameter\u003c/p\u003e\n\n```csharp\n\npublic bool Customers3(out List\u003cCustomer\u003e Customers)\n{\n    mHasException = false;\n\n    Customers = new List\u003cCustomer\u003e();\n\n    const string selectStatement = \n        \"SELECT cust.CustomerIdentifier,cust.CompanyName,cust.ContactName,ct.ContactTitle, \" +\n        \"cust.[Address] AS street,cust.City,ISNULL(cust.PostalCode,''),cust.Country,cust.Phone, \" +\n        \"cust.ContactTypeIdentifier FROM dbo.Customers AS cust \" +\n        \"INNER JOIN ContactType AS ct ON cust.ContactTypeIdentifier = ct.ContactTypeIdentifier;\";\n\n    using (var cn = new SqlConnection() { ConnectionString = ConnectionString })\n    {\n        using (var cmd = new SqlCommand() { Connection = cn, CommandText = selectStatement })\n        {\n            try\n            {\n                cn.Open();\n                var reader = cmd.ExecuteReader();\n                while (reader.Read())\n                {\n                    Customers.Add(new Customer()\n                    {\n                        CustomerIdentifier = reader.GetInt32(0),\n                        CompanyName = reader.GetString(1),\n                        ContactName = reader.GetString(2),\n                        ContactTitle = reader.GetString(3),\n                        Street = reader.GetString(4),\n                        City = reader.GetString(5),\n                        PostalCode = reader.GetString(6),\n                        Country = reader.GetString(7),\n                        Phone = reader.GetString(8)\n                    });\n                }\n\n            }\n            catch (Exception e)\n            {\n                mHasException = true;\n                mLastException = e;\n            }\n        }\n    }\n\n    return IsSuccessFul;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarenpayneoregon%2Fcsharpworkingwithoutparamswithdata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarenpayneoregon%2Fcsharpworkingwithoutparamswithdata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarenpayneoregon%2Fcsharpworkingwithoutparamswithdata/lists"}