有人可以向我解释下面的内容.首先是我如何调用该方法,第二位是LINQ方法.
我的好奇心源于这样一个事实,即context如果我不批评该using部分,我会收到错误.
为什么?我显然不完全明白using和context's.我想更好地理解这一点.
Guid workerID = new Guid(new ConnectDAL.DAL.Security().GetUserIDByUserLogin(HUD.CurrentUser));
var myMembers = BLLCmo.GetAllMembers(workerID);
if (myMembers.Rows.Count != 0)
{
dgvMyMembers.DataSource = myMembers;
}
else
{
var allMembers = BLLCmo.GetAllMembers();
dgvMyMembers.DataSource = allMembers;
}
internal static CmoDataContext context = new CmoDataContext();
public static DataTable GetAllMembers()
{
DataTable dataTable;
//using (context)
//{
var AllEnrollees = from enrollment in context.tblCMOEnrollments
select new
{
enrollment.ADRCReferralID,
enrollment.ClientID,
enrollment.CMONurseID,
enrollment.CMOSocialWorkerID,
enrollment.DisenrollmentDate,
enrollment.DisenrollmentReasonID,
enrollment.EconomicSupportWorkerID,
enrollment.EnrollmentDate
};
dataTable = AllEnrollees.CopyLinqToDataTable();
//} …Run Code Online (Sandbox Code Playgroud) 有人可以告诉我有什么区别
using namespace android;
....
Run Code Online (Sandbox Code Playgroud)
和
namespace android {
....
}
Run Code Online (Sandbox Code Playgroud)
我发现Android源代码中的几乎所有.cpp文件都使用第二个.cpp文件.
另外,如果我想在我自己的项目中包含一些使用第二种类型的文件,我是否namespace android{...}也需要使用?
因为如果我不这样做,编译器会在调用包含文件的方法时报告错误.或者我需要在方法调用之前添加任何前缀?
我想从streamwriter中的内容中使用bild保存文件,但是在此代码中
SaveFileDialog savefile = new SaveFileDialog();
savefile.FileName = "unknown.txt";
savefile.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*|";
if (savefile.ShowDialog() == DialogResult.OK)
{
using (StreamWriter sw = new StreamWriter(savefile.FileName, false, System.Text.Encoding.Unicode))
sw.WriteLine("Test line");
sw.WriteLine("Test line2");
sw.WriteLine("Test line3");
}
Run Code Online (Sandbox Code Playgroud)
在行sw.WriteLine("Test line2");
sw.WriteLine("Test line3");,是错误,sw不存在!
但我很少使用代码
using (StreamWriter sw = new StreamWriter("\unknow.txt", false,System.Text.Encoding.Unicode))
sw.WriteLine("Test line");
sw.WriteLine("Test line2");
sw.WriteLine("Test line3");
一切正常!哪里有问题?谢谢 !
在"使用"块中,如果在catch语句中发出System.Environment.Exit(0),则关闭OracleConnection?
例:
OracleConnection oracleConnection = getOracleConnection();
using (oracleConnection)
{
try
{
oracleConnection.Open();
OracleCommand cmd = getApplicantsCmd(oracleConnection);
OracleDataReader rdr = cmd.ExecuteReader();
List<Applicant> applicants = new List<Applicant>();
while (rdr.Read())
{
Applicant applicant = new Applicant();
applicant.email = (string)rdr["GOREMAL_EMAIL_ADDRESS"];
applicants.Add(applicant);
}
return applicants;
}
catch (Exception ex)
{
Console.WriteLine("Failure getting applicant records: " + ex.Message);
System.Environment.Exit(0);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
如果在查找记录时抛出异常,我希望执行停止.
有没有更好的方法来处理这个?
我现在正在一个C#程序中工作,其中有一个类("GlobalConstants")只有全局常量,例如错误消息和返回值.其中大多数都是大枚举类型,因此代码中有很多地方我必须键入或读取看起来像这样的行...
case GlobalConstants.SubunitAssemblyFailureEnums.FOD_ERROR:
Run Code Online (Sandbox Code Playgroud)
所以我很乐意能够用简短的东西来缩写限定词,所以就是这样...
case gsf.FOD_ERROR:
Run Code Online (Sandbox Code Playgroud)
有没有办法在C#中使用命名空间或类型别名?我试过了
using gsf = GlobalConstants.SubunitAssemblyFailureEnums;
Run Code Online (Sandbox Code Playgroud)
...但是编译器只是说"GlobalConstants.SubunitAssemblyFailureEnums是'类型',它在给定的上下文中无效"
编辑: 答案...是我的安排错了.我的文件结构如下...
using System;
using System.Collections;
using System.ComponentModel;
namespace ****
{
class ****
{
method*** { }
method*** { }
... etc...
} //end class
} // end namespace
Run Code Online (Sandbox Code Playgroud)
我尝试它的第一个地方是在命名空间指令之上,另一个是"使用".编译器不喜欢这样.然后我在课堂上试了一下,也不喜欢那样.但是我让它在命名空间指令和类定义之间工作得很好
这可能是一个愚蠢的问题,但由于我不能自己给出答案,我会在这里提出.
让我们在http处理程序中使用一个模块(Web应用程序是使用ASP.NET用C#编写的),并让这个模块实现IDisposable接口.然后一个常见的方法是使用如下模块:
using(var module = new ModuleName(param1, param2, param3))
{
}
Run Code Online (Sandbox Code Playgroud)
是否更好地将任何代码放在我们将仅在此using语句的主体内部或之前使用的变量中.在代码方面:
是第一种方法还是第二种方法更好(以及为什么):
第一种方法
using(var module = new ModuleName(param1, param2, param3))
{
int a = Request.GetParam<int>("aNumber");
string b = Request.GetParam<string>("bString");
// and other parameters contained to the http request
}
Run Code Online (Sandbox Code Playgroud)
第二种方法
int a = Request.GetParam<int>("aNumber");
string b = Request.GetParam<string>("bString");
// and other parameters contained to the http request
using(var module = new ModuleName(param1, param2, param3))
{
}
Run Code Online (Sandbox Code Playgroud)
如果没有任何技术原因 - 这是基于意见的决定 - 我们应该更喜欢第二种方法的第一种方法,反之亦然,请告诉我,以便删除我的帖子.
这是我的代码:
class Test
{
private:
SomeType a;
public:
using TE = decltype(a.find("abc")->second);
TE getElement(const string &) const;
};
Test::TE Test::getElement(const string & key) const
{
return a.find(key)->second;
}
Run Code Online (Sandbox Code Playgroud)
在类中,函数可以返回a如上所述的元素.类型a.find(key)->second非常复杂,所以我不想全部输入.事实上,我甚至不知道如何输入它...
所以我想像decltype上面一样使用但失败了.这是错误:
错误C2227:' - > second'的左边必须指向class/struct/union/generic类型
我有一个方法,给我一个对象列表,例如
public IEnumerable<Person> GetPerson()
{
using (myEntities ctx = new myEntities())
{
return ctx.Person.Where(x => x.Age < 50);
}
}
Run Code Online (Sandbox Code Playgroud)
在其他地方我使用这种方法
public void Main()
{
var pList = GetPerson();
pList = pList.Where(x => x.Age < 40);
Person Item = pList.FirstOrDefault(); //materialization here
}
Run Code Online (Sandbox Code Playgroud)
当我调用FirstOrDefault()select正在进行处理并且正在从数据库中检索数据时.
问题:是否using (myEntities ctx = new myEntities())达到了实现的范围?
一方面它是因为它管理数据库的选择/连接并且在物化时生成 - 另一方面它在方法之外被调用,并且可以在代码中的任何地方 - 在using指令之外
我需要对using有关类的关键字进行快速说明,因为我不确定我是否正确理解。
假设我有以下示例:
class B {
public:
int var;
int f(void);
};
class C : public B {protected: using B::var; };
Run Code Online (Sandbox Code Playgroud)
这是否意味着,而不是继承的变量var如public从B类,C类,而不是继承此变量protected,离开将是唯一的公共变量int f(void);?
另外,类C是否可以通过private: using B::var;在其主体内部继承而将变量作为私有变量继承?
public: using B::var;既然变量var已经在B类内部公开了,那有什么写法吗?
谢谢!
我正在开发一个可以发送fttp请求的类,它有一个可以执行不同类型的ftp方法的实用工具方法:
private FtpWebResponse DoFttpRequest(Uri uri, NetworkCredential credentials, string method, string file = null)
{
var request = (FtpWebRequest)WebRequest.Create(uri);
request.Credentials = credentials;
request.Method = method;
if (!string.IsNullOrEmpty(file))
{
using (var stream = request.GetRequestStream())
using (var writer = new StreamWriter(stream))
{
writer.Write(file);
}
}
return (FtpWebResponse)request.GetResponse();
}
Run Code Online (Sandbox Code Playgroud)
如您所见,此方法执行ftp方法并将响应流返回给调用者.以下是使用此方法通过ftp将字符串内容写入文件的客户端方法:
public void WriteToFile(string path, string contents)
{
var uri = new Uri(path);
using (var ftpResponse = DoFttpRequest(uri, _credentials, Ftp.UploadFile, contents)) { }
}
Run Code Online (Sandbox Code Playgroud)
如您所见,这里我使用空的using语句using (var ftpResponse = DoFttpRequest(uri, _credentials, Ftp.UploadFile, contents)) { } …
using ×10
c# ×7
c++ ×3
alias ×1
class ×1
datacontext ×1
decltype ×1
dispose ×1
exit ×1
ftp ×1
linq ×1
linq-to-sql ×1
namespaces ×1
terminology ×1
try-catch ×1
webrequest ×1