class C { using namespace std; // error }; namespace N { using namespace std; // ok } int main () { using namespace std; // ok } 编辑 :想知道背后的动机。
是否有特定情况下我应该(或不应该)使用“使用”块: using(SomeType t = new SomeType()){ … }
当你创build一个新的页面或项目时,Visual Studio会自动为你创build使用语句。 其中一些你永远不会使用。 Visual Studio具有“删除未使用的用户”的有用function。 我想知道如果从来没有被访问过的using语句仍然在文件的顶部被提及,那么对程序性能是否有负面的影响。
我只是想知道是否安全/好的方法来调用return using块内。 例如。 using(var scope = new TransactionScope()) { // my core logic return true; // if condition met else return false; scope.Complete(); } 我们知道在最后的大括号dispose()将被closures。 但是,在上述情况下,由于return跳出给定范围(AFAIK)的控制… 我的scope.Complete()被调用? 对于范围的dispose()方法也是如此。
这是我遇到的一个电话面试问题:是否有一段时间,Dispose不会被一个使用块声明范围的对象调用? 我的回答是否定的 – 即使在使用块中发生exception,Dispose仍将被调用。 面试官不同意并表示,如果using包裹在try – catch块中,则Dispose将不会在您进入catch块时调用。 这与我对这个构想的理解是相反的,而且我一直没能find任何支持面试官的观点。 他是对的还是我误解了这个问题?
我有一个问题/问题,是否“shouldOverrideUrlLoading”真的弃用? 如果是这样,我可以使用什么? 看起来像shouldOverrideUrlLoading已弃用针对Android N ,我需要使一个应用程序工作,因为API 19,直到最新的权利,现在是Android N(testing版),我使用一些function,在Android N(如数据保护程序)针对棉花糖将无助于这个问题,因为我需要使用这些新function,这里是我使用的代码的一部分: public boolean shouldOverrideUrlLoading(WebView webview, String url) { if (url.startsWith("http:") || url.startsWith("https:")) { … } else if (url.startsWith("sms:")) { … } … } 这是Android Studio给我的消息: 覆盖'android.webkit.WebViewClient'中不推荐使用的方法此检查报告指定检查作用域中使用了不推荐使用的代码的位置。 谷歌没有提到这个贬值 。 我不知道使用@SuppressWarnings("deprecation")是否会让我在API 19之前的所有设备上工作,直到最新的Android N Beta(以及它最终发布的版本)时,我都无法自己testing它,我需要确定它是有效的,那么,任何人都可以告诉? 非常感谢。
我在命名空间和use语句方面有点麻烦。 我有三个文件: ShapeInterface.php , Shape.php和Circle.php 。 我正在尝试使用相对path来做到这一点,所以我把它放在所有的类中: namespace Shape; 在我的圈子里,我有以下几点: namespace Shape; //use Shape; //use ShapeInterface; include 'Shape.php'; include 'ShapeInterface.php'; class Circle extends Shape implements ShapeInterface{ …. 如果我使用include语句,则不会出现错误。 如果我尝试use我得到的声明: 致命错误:第8行/Users/shawn/Documents/work/sites/workspace/shape/Circle.php中找不到类“Shape \ Shape” 有人可以给我一些关于这个问题的指导吗?
我正在看看C#6中的一些新function ,特别是“使用静态” 。 使用static是一种新的using子句,可以让你直接将静态成员types导入到作用域中。 (博客文章的底部) 这个想法如下,根据我发现的几个教程, 代替: using System; class Program { static void Main() { Console.WriteLine("Hello world!"); Console.WriteLine("Another message"); } } 您可以使用静态类的新C#6function省略重复的Console语句: using System.Console; // ^ `.Console` added. class Program { static void Main() { WriteLine("Hello world!"); WriteLine("Another message"); } // ^ `Console.` removed. } 但是,这似乎并没有为我工作。 我在using声明中遇到错误,他说: “ using namespace ”指令的A只能应用于命名空间;“ Console ”不是命名空间的types,考虑“ using […]
从获取DataContext的using语句中返回方法值似乎总是正常工作,如下所示: public static Transaction GetMostRecentTransaction(int singleId) { using (var db = new DataClasses1DataContext()) { var transaction = (from t in db.Transactions orderby t.WhenCreated descending where t.Id == singleId select t).SingleOrDefault(); return transaction; } } 但是我总是觉得我应该在使用括号之前closures一些东西 ,例如在using语句之前定义事务,在括号内获取它的值,然后在括号后面返回。 在使用括号之外定义和返回variables是否更好地实践或节约资源?
在这里关于一次性对象的其他问题 ,我们应该在使用块结束之前调用Close()吗? using (SqlConnection connection = new SqlConnection()) using (SqlCommand command = new SqlCommand()) { command.CommandText = "INSERT INTO YourMom (Amount) VALUES (1)"; command.CommandType = System.Data.CommandType.Text; connection.Open(); command.ExecuteNonQuery(); // Is this call necessary? connection.Close(); }