- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - phát hiện rò rỉ bộ nhớ Ruby/Ruby on Rails
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在大型项目中哪个更好用,为什么:
#nếu GỠ LỖI
public void SetPrivateValue(int value)
{ ... }
#kết thúc nếu
hoặc
[System.Diagnostics.Conditional("DEBUG")]
public void SetPrivateValue(int value)
{ ... }
câu trả lời hay nhất
这真的取决于你要做什么:
#nếu GỠ LỖI
:此处的代码甚至不会在发布时到达 IL。[Conditional("DEBUG")]
:此代码将到达 IL,但是对该方法的调用将被省略,除非在编译调用程序时设置了 DEBUG .我个人根据情况使用两者:
有条件的(“DEBUG”)示例:我使用它是为了在发布期间不必返回并稍后编辑我的代码,但在调试期间我想确保我没有'不要打错字。当我尝试在我的 INotifyPropertyChanged 内容中使用它时,此函数会检查我是否正确键入了属性名称。
[Conditional("DEBUG")]
[windowStepThrough]
protected void VerifyPropertyName(String propertyName)
{
if (TypeDescriptor.GetProperties(this)[propertyName] == null)
Debug.Fail(String.Format("Invalid property name. Type: {0}, Name: {1}",
GetType(), propertyName));
}
你真的不想使用 #nếu GỠ LỖI
创建一个函数,除非你愿意用相同的 #nếu GỠ LỖI
包装对该函数的每次调用:
#nếu GỠ LỖI
public void DoSomething() { }
#kết thúc nếu
public void Foo()
{
#nếu GỠ LỖI
DoSomething(); //This works, but looks FUGLY
#kết thúc nếu
}
sự tương phản:
[Conditional("DEBUG")]
public void DoSomething() { }
public void Foo()
{
DoSomething(); //Code compiles and is cleaner, DoSomething always
//exists, however this is only called during DEBUG.
}
#if DEBUG 示例:我在尝试为 WCF 通信设置不同的绑定(bind)时使用它。
#nếu GỠ LỖI
public const String ENDPOINT = "Localhost";
#khác
public const String ENDPOINT = "BasicHttpBinding";
#kết thúc nếu
在第一个示例中,所有代码都存在,但除非 DEBUG 打开,否则将被忽略。在第二个示例中,const ENDPOINT 设置为“Localhost”或“BasicHttpBinding”,具体取决于是否设置了 DEBUG。
更新:我正在更新此答案以澄清一个重要且棘手的问题。如果您选择使用 ConditionalAttribute
,请记住在编译期间会省略调用,不会在运行时。即:
MyLibrary.dll
[Conditional("DEBUG")]
public void A()
{
Console.WriteLine("A");
B();
}
[Conditional("DEBUG")]
public void B()
{
Console.WriteLine("B");
}
当库针对 Release模式(即没有 DEBUG 符号)编译时,它将永远省略 A()
中对 B()
的调用,即使如果包含对 A()
的调用,因为 DEBUG 是在调用程序集中定义的。
关于c# - #if DEBUG 与条件 ("DEBUG"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788605/
Tôi đang gặp khó khăn với phần WHERE của truy vấn. Bản thân truy vấn chứa LEFT JOIN dựa trên ID tồn tại trong cả hai bảng. Tuy nhiên, tôi yêu cầu câu lệnh Where chỉ trả về kết quả đơn lẻ lớn nhất tồn tại ở một trong các cột. Hiện tại tôi trả về tất cả các giá trị trong kết nối,
Tôi có mã này để thay đổi kích thước hệ thống tập tin. Vấn đề là ngay cả khi điều kiện if được đáp ứng, nó vẫn không chuyển sang điều kiện if và tôi hoàn toàn không kiểm tra điều kiện if. Nó đi trực tiếp đến điều kiện khác. Kết quả sau khi chạy code post-install-ray
Giả sử tôi có một bảng Excel có 2 cột: ngày tháng trong các ô A1 đến A10 và các giá trị trong các ô B1 đến B10. Tôi muốn tổng hợp tất cả các giá trị cho các ngày trong tháng Năm. Tôi có 3 khả năng: {=SUM((MONTH(A1:A10)=
Mã giả: CHỌN * TỪ 'bảng' WHERE ('date' row.date Hoặc, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackove
Tôi có dòng mã sau đây để thực hiện một truy vấn đơn giản if ($this->fulfilled) $criteria->addCondition('fulfilled ' . (($this->fulfilled)
Nếu tìm thấy khóa do người dùng nhập trong cơ sở dữ liệu, tôi sẽ cố gắng hiển thị dữ liệu từ "bảng". Hiện tại tôi đã thiết lập nó để kiểm tra cơ sở dữ liệu xem khóa có tồn tại như thế này không: //Chọn tất cả từ bảng nếu có mục nhập khóa
đóng cửa. Câu hỏi này yêu cầu chi tiết hoặc rõ ràng. Câu trả lời không được chấp nhận vào thời điểm này. Bạn muốn cải thiện câu hỏi này? Thêm chi tiết và làm rõ câu hỏi bằng cách chỉnh sửa bài đăng này Đã đóng 5 năm trước. Cải thiện điều đó
Có thể có trong MYSQL không? Có ba tác vụ bảng (task_id, task_status, ...) task_tasked_to (ta_id, task_id, user_id) task_suggeste
Tôi muốn sắp xếp các yêu cầu sql của mình dựa trên trạng thái của người dùng trước rồi đến tên người dùng. Trạng thái được đặt theo cột user_type: 1=active, 2=inactive, 3=người sáng lập. Tôi định sử dụng yêu cầu này để thực hiện nhưng nó không hoạt động vì tôi muốn thực hiện sau thành viên "hoạt động"
Phong cách mã hóa chuyên nghiệp nhất cho hai chức năng sau đây là gì? Điều gì sẽ xảy ra nếu hàm trở nên phức tạp hơn và lớn hơn, chẳng hạn như có 20 lần kiểm tra? Lưu ý: Tôi cần phải làm gì đó sau mỗi lần kiểm tra, vì vậy tôi không thể ghép mọi thứ thành một câu lệnh if, như: if (veh
Tôi đang sử dụng EntityFramework 6.1.3 và SQL Server trong dự án C#. Tôi có hai truy vấn về cơ bản phải làm điều tương tự. 1. Exams.GroupBy(x=>x.SubjectID)
Tôi đang cố gắng đặt hai điều kiện trong trường hợp câu lệnh khi nhưng tôi gặp lỗi cú pháp trong trường hợp postgresql khi điều kiện 1 và điều kiện 2 rồi X khác Y
Tôi đang tạo một truy vấn kết hợp nhiều bảng, một bảng prodRecipe sẽ chứa dữ liệu cho một số hàng, nhưng không phải tất cả, nhưng tmp_inv1 sẽ chứa thông tin đếm cho tất cả các hàng. Vấn đề là, tmp_inv1.count phụ thuộc vào việc một mục có trong
Tôi có một truy vấn liên quan đến các cặp hàng có chênh lệch thời gian dưới 2 giờ (~0,08333 ngày): CHỌN mt1.*,
Tôi có một mã (hoạt động tốt) chứa nhiều điều kiện OR như thế này để kiểm tra xem một trong các giá trị có trống hay không và sau đó chúng tôi đưa ra thông báo lỗi (tất cả chúng phải được điền vào) } elsif ( !$params {'tài khoản'}
Tôi có một thủ tục được lưu trữ có tên spGetOrders chấp nhận một số tham số: @startdate và @enddate. Điều này sẽ truy vấn bảng "Đơn hàng". Một cột trong bảng được gọi là "ClosedDate". Nếu lệnh chưa được đóng thì cột này vẫn giữ nguyên
Trong code, phần bình luận là phần tôi cần sửa... Có cách nào để viết một truy vấn như vậy trong LINQ không? Tôi cần điều này vì tôi cần sắp xếp dựa trên trạng thái. var result = (từ liên hệ trong d
Tôi đang cố gắng tạo một thủ tục lưu trữ cho phép bỏ qua các tham số, nhưng thực hiện thao tác AND nếu các tham số được cung cấp: TẠO THỦ TỤC MyProcedure @LastName Varchar(30)
Tôi đang tìm cách lọc địa chỉ IP mới trong tệp máy chủ của mình. Tôi đã tạo một tập lệnh cập nhật tệp máy chủ của mình mỗi khi tôi gọi nó bằng dữ liệu từ Matrix Enterprise Manager. Nó hoạt động tốt. Nhưng tôi phải tìm giải pháp chỉ cho phép cập nhật lên 10.XX.
Vì vậy, tôi đang tạo một thanh trượt ẩn nút xuống khi nút xuống hết cỡ và ngược lại khi nút lên bị ẩn và tôi gặp sự cố. số tiền var = $('slide').attr('number');
Tôi là một lập trình viên xuất sắc, rất giỏi!